2

У меня есть псевдоним, который присоединяет процесс с именем myprocess в GDB.

то есть псевдоним myat = "gdb /path /to /myprocess $(pgrep myprocess)"
$ type myat
myat имеет псевдоним `gdb /path /to /myprocess 23313 '

Это будет работать, пока myprocess не умрет и не перезапустится с новым pid.
Но чтобы снова использовать псевдоним, мне нужно перезагрузить мой ~/.bashrc

Есть ли лучший способ указать этот псевдоним, чтобы мне не нужно перезагрузить
~/.bashrc?

1 ответ1

2

Проблема в том, что 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); }

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .