我试图在Ubuntu 12.10上编写一个简单的bash脚本,它将pwd命令的结果存储在一个变量中,然后在if命令中检查该变量的值,看它是否与特定字符串匹配。但我一直收到一个错误,因为它将该变量的内容视为一个目录本身,并不断给出错误“没有这样的文件或目录”
该计划如下:
myvar=$(pwd)
if [$myvar -eq /home/vicky] #fails this check as variable myvar contains /home/vicky
then
echo correct
else
echo incorrect
fi
任何帮助将不胜感激
答案 0 :(得分:1)
正确的形式是
myvar=$(pwd)
if [ "$myvar" = /home/vicky ] ## Need spaces and use `=`.
由于您正在使用bash,因此您无需使用pwd
。只需使用$PWD
即可。而且,最好使用[[ ]]
,因为变量不仅仅是在分词和路径名扩展时。
myvar=$PWD
if [[ $myvar == /home/vicky ]]
或者只是
if [[ $PWD == /home/vicky ]]