2

我正在尝试在 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

任何帮助,将不胜感激

4

1 回答 1

1

正确的形式是

myvar=$(pwd)
if [ "$myvar" = /home/vicky ]  ## Need spaces and use `=`.

而且由于您使用的是 bash,因此您不需要使用pwd. 只需使用$PWD. 而且,它更适合使用,[[ ]]因为变量在其中时不仅用于分词和路径名扩展。

myvar=$PWD
if [[ $myvar == /home/vicky ]]

或者干脆

if [[ $PWD == /home/vicky ]]
于 2013-09-18T06:47:17.597 回答