gpt4 book ai didi

svn - 一个 svn 命令的 Bash 别名通过管道传输到 awk

转载 作者:行者123 更新时间:2023-11-29 09:35:58 28 4
gpt4 key购买 nike

我经常输入此命令,并试图为其设置别名,但由于某种原因无法成功。

for FILE in `svn stat | awk '{print $2}'`; do svn revert $FILE; done

这显然会导致大量 svn 还原。

当我给它取别名时:

alias revert_all="for FILE in `svn stat | awk '{print $2}'`; do svn revert $FILE; done"

svn stat 立即运行 - 不好

然后我尝试双引号 awk 部分:

alias revert_all='for FILE in `svn stat | awk "{print $2}"`; do svn revert $FILE; done'

但这不能正常运行 - awk 部分不执行(我得到显示的 M 值并尝试运行 svn revert M)。

下一次尝试,使用转义的单引号:

alias revert_all='for FILE in `svn stat | awk \'{print $2}\'`; do svn revert $FILE; done'

命令没有完成,bash 正在等待另一个 tick 吗?

我知道我可以为此编写脚本,或者将 awk 命令放入文件中,但我并不是在寻找解决方法。这里有一些我不知道的东西。这是什么?

TIA

最佳答案

我注意到您对变通方法不感兴趣,但它似乎与原生方式一样有用。不要别名,而是定义为函数并放入 .bashrc:

revert_all() { for FILE in `svn stat | awk '{print $2}'`; do svn revert $FILE; done}

刚刚测试:

alias revert_all="for FILE in \`svn stat | awk '{print $2}'\`; do svn revert $FILE; done"

有效。

关于svn - 一个 svn 命令的 Bash 别名通过管道传输到 awk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1833801/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com