我把代碼寫在一個sh文件並運行它...bash腳本不工作的權限設置爲一個文件
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
如果這是bash和不POSIX外殼,如破折號,你可以做$ 2正則表達式匹配,而不管道和grep。 '[[$ 2 =〜^ [0-9] + $]] ||死「需要數字參數,$ 2提供」' – jordanm