ass*_*nss 3 command-line bash bashrc
我想将此iostat命令添加到我的.bashrc并为其创建别名:
iostat -xk 2 $(findmnt -T ~ | awk 'END {print $2}')
Run Code Online (Sandbox Code Playgroud)
我将此添加到我的.bashrc:
alias ios='iostat -xk 2 $(findmnt -T ~ | awk 'END {print $2}')'
Run Code Online (Sandbox Code Playgroud)
不幸的是,它不起作用。
如果我iostat在终端中运行上面的命令它可以工作,但是当我运行ios别名时它不再工作。
是的,我每次都重新启动我的外壳。
che*_*ner 10
改用函数;引用更简单:
ios () {
iostat -xk 2 $(findmnt -T ~ | awk 'END {print $2}')
}
Run Code Online (Sandbox Code Playgroud)
alias ios='iostat -xk 2 $(findmnt -T ~ | awk 'END {print $2}')'
Run Code Online (Sandbox Code Playgroud)
您不能在引号内使用引号。在引用和双引号之间交替是最简单的方法。所以这有效:
$ alias ios="iostat -xk 2 $(findmnt -T ~ | awk 'END {print $2}')"
$
Run Code Online (Sandbox Code Playgroud)
从编辑:
请注意,尽管它在这种情况下有效(因为在此期间
~不会移动到不同的块设备),但“软”外部引号导致在定义时而不是在别名调用时动态评估命令替换
如果您需要单引号,您可以使用'"'"'以下方法将它们粘在一起:
$ alias ios='iostat -xk 2 $(findmnt -T ~ | awk '"'"'END {print $2}'"'"')'
$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
788 次 |
| 最近记录: |