使用刻度线和反引号的 bashrc 别名不起作用

Mar*_*ean 2 bash sed awk alias

我想在 .bashrc 中创建一个执行以下命令的别名:

virsh list --all | sed '1,2d' | sed '/^$/d'| awk '{print $2" state:"$3" "$4}'
Run Code Online (Sandbox Code Playgroud)

我尝试过不同的方法,但没有任何效果。任何帮助将不胜感激

pLu*_*umo 5

该命令似乎不是别名的正常用例。

你应该使用一个函数:

_virsh() { virsh list --all | sed '1,2d' | sed '/^$/d'| awk '{print $2" state:"$3" "$4}';  }
Run Code Online (Sandbox Code Playgroud)

或避免使用sed

_virsh() { virsh list --all | awk 'NR>2 && $0!="" {print $2" state:"$3" "$4}';  }
Run Code Online (Sandbox Code Playgroud)

将其放入您的.bashrc,重新启动您的终端或运行source ~/.bashrc,然后您可以使用它_virsh来获取您的列表。