微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在tcsh中找不到命令

如何解决在tcsh中找不到命令

我在使用此代码时遇到麻烦。我的作业分配正确吗?我给了“ q:找不到命令。严重放置()的。”

#!/bin/tcsh 

set h = 0
set q = 0
set a = 0

foreach val ( $* )
  if ($val == "-h")then
    h = 1
  endif
  if ($val == "-q")then
    q = 1
  endif
  if ($val != "-h") && ($val != "-q")then
    a = 1
  endif
end

解决方法

在有关()和空格的注释的基础上,此版本有效:

#!/bin/tcsh 

set h = 0
set q = 0
set a = 0

foreach val ( $* )
  if ($val == "-h") then
    set h = 1
  endif
  if ($val == "-q") then
    set q = 1
  endif
  if ($val != "-h" && $val != "-q") then
    set a = 1
  endif
end
  1. )之后添加空格
  2. &&放入()
  3. 使用set设置变量。 Bourne shell仅具有x=y,但是* csh需要set x=y

您可能还想研究getopt -如果您有该命令的Linux或GNU版本可用,它可以使选项解析更加标准化。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。