Следующие все работы в tcsh
для достижения различных результатов:
alias t echo hello world # you may not actually need any quotes
alias u 'echo "hello world"' # nested quotes of different types
alias v echo\ \"hello\ world\" # escape everything
alias w echo '\;'hello'";"' world # quote/escape problem areas only
alias x 'echo \"hello world\"' # single quote and escape for literal "
alias y "echo "\""hello world"\" # unquote, escaped quote, quote ("\"")
alias z 'echo '\''hello world'\' # same goes for single quotes ('\'')
Чтобы увидеть, как они интерпретируются оболочкой, запустите alias
без аргументов:
% alias
t (echo hello world)
u echo "hello world"
v echo "hello world"
w (echo \;hello";" world)
x echo \"hello world\"
y echo "hello world"
z echo 'hello world'
Все, что в скобках, выполняется в подоболочке. Это было бы плохо, если вы пытаетесь установить переменные окружения, но в большинстве случаев это не имеет значения.
Наконец, вот что на самом деле делают примеры:
% t; u; v; w; x; y; z
hello world
hello world
hello world
;hello; world
"hello world"
hello world
hello world