Tcsh shell 脚本“语法错误,文件意外结束”对于 if 语句
我在 bash 中看到了类似的问题,但无法解决我的情况。 我正在运行一个简单的脚本:
#!/bin/bash
set mystring=0
if ( "$mystring" == "0" )
echo "true"
elseif
echo "wrong"
endif
我的输出是“第 12 行:语法错误:意外的文件结尾”。你能帮忙吗?
I saw a similar problem in bash but couldn't solve it for my case.
I'm running a simple script:
#!/bin/bash
set mystring=0
if ( "$mystring" == "0" )
echo "true"
elseif
echo "wrong"
endif
my output is "line 12: syntax error: unexpected end of file". Can you help?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是一个工作的 bash 版本(而不是 tcsh),给出示例中的第一行:
请注意,尽管逻辑看起来都是正确的,但 bash 的大部分语法都稍微不正确。您还应该确定“mystring”是整数还是字符串类型 - 这里我假设您需要字符串,并相应地修改了示例。
Here's a working bash version (rather than tcsh), given the first line in your example:
Note that much of the syntax was slightly incorrect for bash, even though the logic all looked correct. You should also determine if "mystring" is going to be an integer or a string type - here I made the assumption that you're expecting strings, and modified the example accordingly.
如果您使用 tcsh 那么您的 if 语法是错误的。 即使更改此设置后,按如下方式使用
也可能会遇到问题。它可以通过获取脚本来解决,而不是仅仅在 shell 中输入其名称。 IE,
if you are using tcsh then your if syntax is wrong. Use as below
you might face the issue even after changing this. it can be resolved by sourcing your script instead of just typing its name in the shell. i.e.,