Bash脚本检查包含目录路径的变量的内容

时间:2013-09-18 06:44:45

标签: bash

我试图在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

任何帮助将不胜感激

1 个答案:

答案 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 ]]