我在bash中看到了类似的问题,但是我的情况无法解决。 我正在运行一个简单的脚本:
#!/bin/bash
set mystring=0
if ( "$mystring" == "0" )
echo "true"
elseif
echo "wrong"
endif
我的输出是“第12行:语法错误:意外的文件结束”。你能帮我吗?
答案 0 :(得分:2)
这是一个工作的bash版本(而不是tcsh),给出了示例中的第一行:
#!/bin/bash
mystring="0"
if [ "$mystring" -eq "0" ]; then
echo "true"
else
echo "wrong"
fi
请注意,对于bash来说,大部分语法都略有不正确,即使逻辑看起来都是正确的。你还应该确定“mystring”是整数还是字符串类型 - 这里我假设你期待字符串,并相应地修改了这个例子。
答案 1 :(得分:1)
如果您使用的是tcsh,则if语法错误。使用如下
if ( "$mystring" == "0" ) then
commands
else
commands
endif
即使更改了此内容,您也可能会遇到此问题。它可以通过获取脚本来解决,而不是只在shell中输入其名称。即,
$source script.sh
instead of
$script.sh