在我以前question我创建了一个由图案恢复文件的svn命令:运行bash命令的功能
svn st | grep SomeFolderA | awk {'print $2'} | xargs svn revert
现在我想让它接受参数(文件模式)的指令并运行上述命令通过使用参数而不是SomeFolderA
。我尝试添加这对我.bash_profile
文件:
function revert() {
"svn st | grep '$1' | awk '{print \$2}' | xargs svn revert" ;
}
当我运行revert SomeFolderA
我得到这个输出:
-bash: svn st | grep 'SomeFolderA/' | awk '{print $2}' | xargs svn revert: No such file or directory
我也使用的完整路径为svn
尝试,但它仍然无法正常工作。我错过了什么?
'“SVN ST | grep'$ 1'| awk'{print \ $ 2}'| xargs svn revert“'尝试执行带有该名称的命令。删除引号。参见http://www.linuxjournal.com/content/return-values-bash-functions关于bash函数如何返回值。 –
[如何从bash函数返回字符串值]的可能重复(http://stackoverflow.com/questions/3236871/how-to-return-a-string-value-from-a-bash-function) –
@ivan_pozdeev - 我做了一些挖掘,我承认bash脚本远没有成为我最强大的一方。我认为很容易看到,这不是一个没有深思熟虑的问题。 SO正好解决了这些类型的问题,不仅是难以预见的问题。我们使用社区来加快我们的工作。通过得到这个答案,你可以帮我腾出几个小时学习。 我真的不知道你发布的问题是如何重复的。猜我虽然reg bash脚本比noobier更好。 – Avi