【问题标题】:How to make argument checking loop in csh如何在 csh 中进行参数检查循环
【发布时间】:2014-10-12 15:05:01
【问题描述】:

我尝试在 c-shell 中创建脚本,该脚本正在检查是否使用 -g 或 -h 参数调用它。如果使用其他参数调用它,则应简单地回显“错误参数”。问题是,当我使用 -s etc 运行脚本时,我的 r 值不是 True,并且控制台中出现“如果:没有文件名”错误。这是我的循环:

foreach a ($argv)
    if (( $a == '-h' ) || ( $a == '--help' )) then
        set h=True
    else if (( $a == '-q' ) || ( $a == '--quiet' )) then
        set q=True
    else
        set r=True
    endif
end

提前致谢。

【问题讨论】:

    标签: csh


    【解决方案1】:

    我发现我需要将“$a”,即“-h”放入“”。所以现在的代码是这样的:

    foreach a ($argv)
        if (( "$a" == "-h" ) || ( "$a" == "--help" )) then
            set h=True
        else if (( "$a" == "-q" ) || ( "$a" == "--quiet" )) then
            set q=True
        else
            set r=True
        endif
    end
    

    我希望它会对某人有所帮助。

    【讨论】:

    • foreach:没有括号的单词。
    猜你喜欢
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    • 2010-11-29
    • 2014-12-22
    • 1970-01-01
    相关资源
    最近更新 更多