【发布时间】:2012-09-09 08:00:32
【问题描述】:
我正在尝试使用以下命令运行以下 shell 脚本:
$ bash linuxScript.sh
这就是我的脚本的样子
#!/bin/bash
svnroot=.../resources
FINDBUGS_HOME="~/opt/findbugs-2.0.1"
svn help
svn export --force ".../resources/GUI.jar"
opt=$1
case $opt in
-normal)
echo "normal mode"
java -jar %FINDBUGS_HOME%\lib\findbugs.jar -textui -onlyAnalyze common.-,ufm.- -output UFMGUI_Normal.html -html GUI.jar;;
...
esac
现在由于某种原因,命令 svn help 和 svn export 不能正常工作(我调用 svn help 只是为了强调我的观点)。
他们给出了以下错误:
'unknown command: 'help
Type 'svn help' for usage.
' is not properly URI-encodedaire.com/repos/ufm_ui/branches/UFM_3_7/tools/build/resources/GUI.jar
如果我已经问过它,它也会对非 svn 相关的命令大喊:
:command not founde 7:
'inuxScript.sh: line 8: syntax error near unexpected token 'in
'inuxScript.sh: line 8: 'case $opt in
现在奇怪的是,如果我在终端中输入 svn 命令,一切正常!我试图用谷歌搜索解决方案,我也搜索了这个论坛,但我找不到任何有用的东西。
非常感谢您的帮助。谢谢!
【问题讨论】:
-
你的第一个位置参数设置了吗?否则
$opt将为空 -
尝试通过将
#!/bin/bash -vx作为第一行来调试您的脚本。 -
在第一行之后添加
set -x,看看实际运行的是什么。你有一些报价问题。 -
%FINDBUGS_HOME%\lib\findbugs.jar?它在 *nix 世界中有意义吗?只是想知道。 -
另外,检查你的脚本是否有 Windows 式的行尾和 BOM 标记。