/ / Bash: Przekazywanie zmiennej jako argumentu z cudzysłowami - bash, shell, emacs24

Bash: przekazywanie zmiennej jako argumentu z cudzysłowami - bash, shell, emacs24

Próbuję przekazać kilka argumentów do ecb. Ale myślę, że jest problem z ucieczką cudzysłowów. Zmienna $ edir poniżej daje wiele problemów.

#!/bin/bash

edir=""(open-project-ecb ""`pwd`"")""

#edir=`pwd`

echo $edir

command=( -n --eval $edir)

emacsclient "${command[@]}"

Odpowiedzi:

5 dla odpowiedzi № 1

Po prostu cytujesz zbyt wcześnie. Tak długo, jak cytujesz rozszerzenie $edir, nie musisz osadzać dodatkowych cytatów w jego wartości, będzie to traktowane jako jedno słowo.

edir="(open-project-ecb "$(pwd)")"
command=( -n --eval "$edir" )
emacsclient "${command[@]}"