if else 语句:检查存储在变量中的路径是否存在

if else 语句:检查存储在变量中的路径是否存在

我的脚本中的 if 语句有问题。我在变量中存储了一个路径,并想使用 if...else 语句来检查变量路径中的文件(file1)是否存在。这是我的代码:

variable=$/home/username/file1

if [ -f "${variable}" ]
then
    echo "$variable exists"
    exit
else
    echo "file not found"
    exit
fi

我也尝试过,[ -f "$variable" ]但在所有情况下,这两个语句都会被执行。我收到的输出:

/home/username/file1 exists
file not found

我想主要问题是命令本身不起作用。但为什么在第一个退出命令后它没有退出?我没有看到的大错误在哪里?

答案1

您脚本中的问题位于第一行。

要将路径分配给变量,只需将其视为字符串:

variable="/home/username/file1"

甚至这个:

variable=/home/username/file1

然后就可以了。


需要 $ 符号将命令的输出分配给变量:

OUTPUT="$(ls -1)"

相关内容