如何解决在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
- 在
)
之后添加空格 - 将
&&
放入()
内 - 使用
set
设置变量。 Bourne shell仅具有x=y
,但是* csh需要set x=y
。
您可能还想研究getopt
-如果您有该命令的Linux或GNU版本可用,它可以使选项解析更加标准化。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。