Я могу избежать всего сразу с помощью
printf "%q\n" "$string"
Но вот ваш ответ:
alias esc_single_quotes="sed \"s/'/\\\\\\\\'/g\""
echo "$string" | esc_single_quotes
JC\'s alias to escape "double quotes"
или:
alias esc_single_quotes='sed "s/'\''/\\\\'\''/g"'
echo "$string" | esc_single_quotes
JC\'s alias to escape "double quotes"
В зависимости от того, как именно работает команда, этого может быть недостаточно, но обычно достаточно, чтобы сделать что-то вроде этого:
nohup rhc port-forward -a webapp &
&
- запустить процесс в фоновом режиме
nohup
- если терминал «зависает» (т.е. закрывается, это пережиток эпохи коммутируемого доступа), не завершайте работу приложения.