【问题标题】:Permission denied while executing shell script执行 shell 脚本时权限被拒绝
【发布时间】:2017-10-27 07:54:59
【问题描述】:

我在 shell 脚本中有一个命令,它计算文件中的行数,如果它们为零,则继续执行脚本的其余部分。

例子:

v_cnt=`wc -l $1/test_$3.bad`
if v_cnt > 0
then
    exit 1
fi

文件动态生成。

我面临的问题是,当文件没有生成时,我得到 Permission denied 错误。但是,当文件存在时,它可以正常工作。请帮助我。

【问题讨论】:

  • 很不清楚你在问什么。您的第一条语句说“如果它们不为零,则继续执行脚本的其余部分”,但在您的示例中,当计数大于 0 时,您是 exit 1。此外,$1/test_$3.bad 是生成的文件吗?如果是这样,它是如何生成的?向我们展示更多/完整代码。
  • 抱歉错字,请考虑这一点,如果它们不为零,则 exit 否则执行脚本的其余部分。此外,文件正在由另一个应用程序生成。
  • 你用的是什么版本的unix/linux?
  • 红帽企业 Linux 服务器,VERSION=7.2 (Maipo)

标签: shell file permissions


【解决方案1】:

试试这个。不要使用wc -l,而是尝试在if [ -s ] 中使用else 条件。

if [ -e $1/test_$3.bad ]
then
    if [ -s $1/test_$3.bad ]
    then
        exit 1
    else
        do something
    fi
else
    echo "File was not generated"
fi

【讨论】:

    猜你喜欢
    • 2019-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    相关资源
    最近更新 更多