【发布时间】:2017-04-17 18:33:11
【问题描述】:
下面是我的 bash 脚本中的代码。当我给命令 2 个参数时,我收到一个错误说二进制运算符(当我给 1 个参数时不给出错误)。当我给出 2 个参数时,它确实会更改文件权限,因为当我执行 ls -l 时我可以看到它,但它仍然给我这个错误。我该如何解决?
for file in $@
do
chmod 755 $file
done
if [ -z $@ ]
then
echo "Error. No argument."
exit $ERROR_CODE_1
fi
我已经添加了这个
if [ ! -f "$*" ]
then
echo "Error. File does not exist"
exit $ERROR_NO_FILE
fi
但是现在当我输入超过 1 个参数时,它只会执行 if 语句中的所有操作(即打印 error.file 不存在),即使文件确实存在。
【问题讨论】:
-
不要改变你的问题。如果您有 新 问题,您应该将其作为新问题发布,而不是更改您的 现有 问题。