在我之前的question中,我创建了一个按模式恢复svn文件的命令:
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
的完整路径,但它仍然不起作用。我错过了什么?
答案 0 :(得分:1)
使用命令字符串创建变量并执行它
function revert() {
cmd="svn st | grep '$1' | awk '{print \$2}' | xargs svn revert"
eval $cmd
}
答案 1 :(得分:0)
无需使用功能,推迟功能,只需使用下面的脚本:
svn st | grep "$1" | awk '{print \$2}' | xargs svn revert