如何防止 bash 别名存储 pid

如何防止 bash 别名存储 pid

我有一个别名,它在 gdb 中附加名为 myprocess 的进程。

即别名 myat="gdb /path/to/myprocess $(pgrep myprocess)"
$ type myat
myat 别名为 `gdb /path/to/myprocess 23313'

这会一直有效,直到 myprocess 终止并以新的 pid 重新启动。
但是,为了能够再次使用别名,我必须重新加载 ~/.bashrc

有没有更好的方法来指定这个别名,这样我就不需要重新加载
~/.bashrc 了?

答案1

问题在于," "在运行命令时,bash 会扩展双引号 ( )内的替换alias ...。请将替换转义为\$(...),或改用单引号 ( ' ')。

alias myat="gdb /path/to/myprocess \$(pgrep myprocess)"
alias myat='gdb /path/to/myprocess $(pgrep myprocess)'

或者使用函数代替:

myat() { gdb /path/to/myprocess $(pgrep myprocess); }

相关内容