내가이 스크립트, 기본적으로 그것이 무엇을하면 램 캐시를 삭제하는 것입니다 쓴 무시되고있다. 나는 지저분한 알고 - 주위의 모든 '에코' '당신이 볼이 단지 작품 청소기를 만들기 위해, 내가 명령 사이에 빈 줄을 좋아파일 권한 플래그 '의 setuid'
#!/bin/bash
free -m && wait
echo ''; echo ''
while true; do
read -p "Vuoi liberare la RAM? [y,n]" domanda
case $domanda in
y|Y) echo ''; sync; sudo echo 3 > /proc/sys/vm/drop_caches; echo ''; free -m; echo ''; break ;;
n|N) echo ''; echo 'Sei tu il saggio Jack ;)'; echo ''; break ;;
*) echo ''; echo 'Come prego?'; echo '' ;;
esac
done
어쨌든, 스크립트가 작동하지만 순서.. 그것이 따를 때 내가 사용 권한을 설정했다 작동하는지 :. 빈, 내 가정에서, 내부의 스크립트를 복사 한 후 나는 추가 :
sudo chown root.root <my script>
sudo chmod 4755 <my script>
나는 그것이 작동 말했듯이 을 나는 하위 디렉토리 호출을 생성 내 .profile
에서이 라인 :
export PATH="/home/jacklapinza/.bin:$PATH"
따라서 새 경로는 제대로 작동하지만 스크립트는 더 이상 작동하지 않습니다. 나는 '아니오'를 선택하면 작동하지만 난 'y'를 누르면 에러가 튀어 의미 :
permission denied.
나는 파일에 동일한 권한을 설정했습니다.
내가 뭘 잘못하고있어?
파일 내부에서 sudo 호출을 제거하고 sudo를 사용하여 스크립트를 호출하는 데 익숙해집니다. 스크립트가'$ (id -nu)'와 함께 루트로 실행되는지 확인할 수 있습니다. '수출 PATH = "$ PATH에 : /home/jacklapinza/.bin": $ 홈 /'또는'수출 PATH = "$ PATH에 –
은 참고 당신은 일반적으로이 대신 사용, 정상적인 경로하기 전에 사용자 디렉토리를 추가해서는 안됩니다. bin "' – andlrc