【问题标题】:mkdir Command Not Found in shell script within if loop在 if 循环内的 shell 脚本中找不到 mkdir 命令
【发布时间】:2014-01-15 01:27:28
【问题描述】:

下面有简单的脚本,

if [ ! -e $c ];
then
mkdir "$c"
fi

$c 包含文件夹路径。我收到错误 mkdir: command not found。请帮帮我。

提前致谢。 导航深度

【问题讨论】:

    标签: shell command mkdir


    【解决方案1】:

    您可以在登录会话中运行mkdir 吗?

    如果可以,很可能问题是由脚本中的 PATH 引起的,请尝试使用完整路径:

    if [ ! -e $c ];
    then
    /bin/mkdir -p "$c"
    fi
    

    或先导出 PATH

    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
    export PATH
    if [ ! -e $c ];
    then
    /bin/mkdir -p "$c"
    fi
    

    【讨论】:

    • 非常感谢,它成功了。我只在这上面浪费了 3 个小时。再次感谢。
    • 我遇到了同样的问题。然后我发现我在脚本中写了readonly PATH="$OPTARG",并且.bash_profile 中导出的PATH 变量被覆盖了。所以找不到 mkdir 命令。非常糟糕,我应该更加小心地设置变量。
    猜你喜欢
    • 2015-07-01
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多