Linux 在tcsh中找不到命令
我有这个代码的问题。我的任务完成得好吗?我给出了“q:找不到命令。位置不正确()。”Linux 在tcsh中找不到命令,linux,tcsh,Linux,Tcsh,我有这个代码的问题。我的任务完成得好吗?我给出了“q:找不到命令。位置不正确()。” 基于对()和空格的评论,以下是一个有效的版本: #!/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
基于对
()
和空格的评论,以下是一个有效的版本:
#!/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
)
s之后添加空格&&
放在()
内set
设置变量。Bourne shell只有x=y
,但*csh需要设置x=y
您可能还想查看
getopt
——如果您有该命令的Linux或GNU版本,它可以使选项解析更加标准化。您的()
字符周围需要空格。还值得检查一下,看看是否将处理您的#/bin/tcsh
文件并标记任何其他问题。祝你好运。@shellter AFAIK,shellcheck只懂sh和bash。@Shawn:是的,刚刚检查过,不支持tcsh(或csh或…;-)。还列出了支持ksh的。。。。以前没有时间。祝大家好运。。。。修复那些(语句)
,以便在()
周围有空格。
#!/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