Svn 如何使用'read'中的变量作为另一个程序的参数?
这是我的剧本:Svn 如何使用'read'中的变量作为另一个程序的参数?,svn,shell,ubuntu,Svn,Shell,Ubuntu,这是我的剧本: read -p 'commit message: ' msg svn status | grep ^\? | awk '{ print $2 }' | egrep "\.(py|js|html|png|jpg)$" | xargs svn add svn ci -m "$msg" 但是,当我运行它时,会出现以下错误: mark@mark-ubuntu:~/myproject$ ./commit.sh commit message: test svn: Try 'svn he
read -p 'commit message: ' msg
svn status | grep ^\? | awk '{ print $2 }' | egrep "\.(py|js|html|png|jpg)$" | xargs svn add
svn ci -m "$msg"
但是,当我运行它时,会出现以下错误:
mark@mark-ubuntu:~/myproject$ ./commit.sh
commit message: test
svn: Try 'svn help' for more info
svn: Not enough arguments provided
我真的不太懂shell编程。消息是否未正确地传递给svn ci或什么?我怎样才能让它工作
svn ci行似乎很好。您可以尝试使用bash-x运行它,以查看错误所在:
$ bash -x commit.sh
啊。。。我不知道。看来问题是没有什么可添加的,因为我已经运行过几次了。如果以前的查询没有找到任何内容,是否有办法跳过
svn add
?您可以根据svn status的返回代码将这些行分隔为if块。$?始终具有上一个命令的返回代码。
$ bash -x commit.sh