Bash псевдоним с вложенными цитатами - PullRequest
0 голосов
/ 15 июня 2019

как настроить псевдоним для этой команды? (потому что он имеет несколько цитат)

rsync -azv -e 'ssh -o "ProxyCommand ssh -A some@place -W %h:%p"' user@xxx:/data/as ~/

Ответы [ 2 ]

3 голосов
/ 15 июня 2019

Просто используйте одинарные кавычки и замените каждую одинарную кавычку на '\''.

alias XYZ='rsync -azv -e '\''ssh -o "ProxyCommand ssh -A some@place -W %h:%p"'\'' user@xxx:/data/as ~/'

Или используйте вместо псевдонима функцию

XYZ () {
    rsync -azv -e 'ssh -o "ProxyCommand ssh -A some@place -W %h:%p"' user@xxx:/data/as ~/ "$@"
}

Он более гибкий и дает вам возможность параметризовать команду позже.

0 голосов
/ 15 июня 2019

Избегайте внутренних двойных кавычек и заключайте в кавычки все, потому что вы не можете избежать одинарных кавычек, а только двойных кавычек. (звучит немного смешно)

alias foobar="rsync -azv -e 'ssh -o \"ProxyCommand ssh -A some@place -W %h:%p\"' user@xxx:/data/as ~/"

Возможно, вы захотите проверить этот ответ.

...