如何在csh中进行参数检查循环

时间:2014-10-12 15:05:02

标签: csh

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

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

我发现我需要把" $ 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

我希望它会帮助别人。