我写了一个脚本,脚本的一部分如下:
#!/bin/bash
if [ "$1" == "this_script" ] then
this_script --parameters
elif [ "$1" == "other_script" ] then
other_script --parameters
else
echo "missing argument"
fi
当我运行这个脚本时,我得到了错误,
syntax error near unexpected token `elif'
`elif [ "$1" == "SWDB" ] then'
1)行尾有问题吗?我在 Windows 上使用记事本编写了脚本,但我在编辑为 UNIX/OSX 格式下启用了 EOL 转换。
2)如果不是行尾,是什么错误?
我正在Redhat Linux操作系统上的bash shell中运行此脚本。
“then”语句应该在新行上:
#!/bin/bash
if [ "$1" == "this_script" ]
then
this_script --parameters
elif [ "$1" == "other_script" ]
then
other_script --parameters
else
echo "missing argument"
fi
以这种格式对我有用。
你需要在 if [ ... ]
之后和之前
使用分号,与 elif
相同:
if [ "$1" == "this_script" ]; then
# ^
# here!
# v
elif [ "$1" == "other_script" ]; then
摘自Bash手册——3.2.4.2条件结构:
if命令的语法为:
if test-commands; then
consequent-commands;
[elif more-test-commands; then
more-consequents;]
[else alternate-consequents;]
fi
执行< code >测试命令列表,如果其返回状态为零,则执行< code >结果命令列表。如果< code>test-commands返回非零状态,则依次执行每个< code>elif列表,如果其退出状态为零,则执行相应的< code>more-consequents并完成命令。如果存在' < code > else alternate-consequents ',并且final if
或< code>elif子句中的最后一个命令具有非零退出状态,则执行< code > alternate-consequents 。返回状态是最后执行的命令的退出状态,如果没有条件测试为真,则返回零。
我正在使用一种新的语言,我想它是linux,但老实说,我不知道;我们通过一个名为putty的程序连接到某个服务器来进行编程。作为作业的一部分,我必须创建一个计算器程序,以两个数字和一个运算符作为分段,但我得到了一堆意想不到的令牌错误。我很迷茫,我的课文和我的教授都没有帮助 到目前为止,我只是想得到它,这样我就可以从命令中得到2/calc.sh 1 1但我在第20行中不断遇到意外的标记错误
问题内容: 我正在尝试与Jenkins构建过程一起运行以下Shell命令 现在构建失败 但是奇怪的是,当直接在Jenkin从站上运行此命令时,它可以正常工作。 如您所见,Jenkins也运行shell命令 。 任何帮助将不胜感激,因为我努力了几个小时 问题答案: 是由启用的扩展模式。目前尚不清楚如何在您的Jenkins从站中启用它,但是将命令添加到脚本中应该可以解决您的问题。
问题内容: 我在Mac上写了一个示例脚本 通过显示Example可以正常工作 当我在RedHat机器上运行此脚本时,它说 意外令牌附近的语法错误’ 我检查了bash是否可用 有人遇到过同样的问题吗? 提前致谢 ! 问题答案: 这可能是文件编码问题。 在不同操作系统和编辑器之间处理文件时遇到了文件类型编码问题,在我的情况下,尤其是在Linux和Windows系统之间。 我建议检查文件的编码,以确保它
问题内容: 问题答案: 您要在UNIX命令提示符下键入此命令吗?您应该在python环境中执行此操作,即。在提示符下键入,然后从那里开始。 另外,在Python行的末尾不需要
问题内容: 运行此脚本 给出错误: cleanup.bash:第10行:意外令牌’(’附近的语法错误 cleanup.bash:第10行:’rm -rf!(composer.json | .git)’ 但是如果我直接在终端中运行没问题 我试着去掉所有其他行,仍然得到错误。 如何在bash脚本中正确输入? 问题答案: 我猜您的问题是由于从脚本运行时未设置shell扩展glob选项。当您声称它可以在命
我在我的ReactJS应用程序上得到一个意外的令牌。但是我相信语法是正确的。 ./src/组件/身份验证/索引中的错误.js模块生成失败: 语法错误: 意外的标记 (11:11) 我错过了什么? 这是我的webpack.config.js 。巴伯尔克