就这些。他们就是不适合我。这次我做错了什么?
# nquo is: /home/bryan/renametest/C D/y z
# script:
dirn=dirname "$nquo"
echo "dirn $dirn"
bnam=basename "$nquo"
echo "bnam $bnam"
运行结果:
./script3.sh: 208: /home/bryan/renametest/C D/y z: Permission denied
dirn
./script3.sh: 208: /home/bryan/renametest/C D/y z: Permission denied
bnam
目前,您的脚本正在尝试运行在$nquo
中命名的文件,首先将环境变量dirn
设置为值dirname
,然后将变量bnam
设置为值basename
。因为它是不可执行的,你得到的错误信息是不能执行该文件。
您可能打算在文件名上运行命令,这需要在它周围加上反引号或(最好)$(...)
:
dnam=$(dirname "$nquo")
bnam=$(basename "$nquo")