gpt4 book ai didi

linux - 检查目录是否存在在 bash 中不会失败

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:44:41 24 4
gpt4 key购买 nike

当我为脚本提供参数时,下面的 shell 脚本工作正常。 [./测试目录名称]

但是,当我没有给出目录名称时,脚本不会失败 [即不会陷入错误消息]。在这种情况下脚本不会失败的任何原因?

#!/bin/sh
echo "directory name is " $1
if [ ! -d $1 ];
then
echo "ERROR: directory doesn't exist"
fi

最佳答案

因为你没有引用 $1 并且它的扩展是空字符串,所以你的命令变成了 [ ! -d ] 展开后进行分词。您正在测试字符串 -d 是否为非空,它确实是。

总是引用参数扩展;您会知道什么时候不该做。

echo "directory name is $1"

if [ ! -d "$1" ]; then

关于linux - 检查目录是否存在在 bash 中不会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49139325/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com