내가 .sh로 파일의 코드를 작성하고 실행에배쉬 스크립트는 ... 파일
die() {
echo >&2 "[email protected]"
exit 1
}
[ "$#" -eq 2 ] || die "2 argument required, $# provided"
echo $2 | grep -E -q '^[0-9]+$' || die "Numeric argument required, $2 provided"
nfile_location = /home/virtual/$1
if [ -f $nfile_location ];
then
chmod -R $2 $nfile_location
echo "Set permission";
exit 1;
else
echo "Not a correct file";
exit 1;
fi
을 권한을 설정하는 작동하지 있지만 작동하지 않습니다. 그것은 다음과 같은 오류를 보여줍니다. 나는 bash 스크립팅의 새로운 기능인 것처럼 이해할 수 없습니다.
/root/new_scripts/setpermission.sh: line 11: nfile_location: command not found
chmod: missing operand after `777'
Try `chmod --help' for more information.
Set permission
이는 대시로, 당신은 파이프 라인 및 그렙없이 $ 2 정규식 매치를 할 수 bash는 아닌 POSIX 쉘 인 경우. '[[$ 2 = ~^[0-9] + $]] || die "숫자 인수 필요, $ 2 제공" – jordanm