Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have an alias which attaches process named myprocess in gdb.

i.e. alias myat="gdb /path/to/myprocess $(pgrep myprocess)"
$ type myat
myat is aliased to `gdb /path/to/myprocess 23313'

This will work until myprocess dies and restarts with a new pid.
But, to be able to use the alias again, I have to reload my ~/.bashrc

Is there a better way of specifying this alias, so that I don't need to reload
~/.bashrc ?

share|improve this question

1 Answer 1

up vote 2 down vote accepted

The problem is that bash expands substitutions within double quotes (" ") at the time the alias ... command is run. Either escape the substitution as \$(...), or use single quotes (' ') instead.

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

Or use a function instead:

myat() { gdb /path/to/myprocess $(pgrep myprocess); }
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.