Polecenie Execute zawierające cytaty ze zmiennej powłoki [duplikat]
To pytanie ma już odpowiedź tutaj:
Dlaczego powłoka ignoruje cudzysłowy w argumentach przekazywanych do niej przez zmienne? [duplikować 3 odpowiedziMam obecnie problemy z wykonaniem polecenia ze zmiennej powłoki.
Ogólnie następujące działania działają zgodnie z oczekiwaniami:
COMMAND="echo A"
echo $COMMAND
$COMMAND
produkty:
echo A
A
Ale jeśli zrobię
COMMAND="su aUser -s /bin/bash -c 'echo A'"
echo $COMMAND
$COMMAND
Dostaj
su aUser -s /bin/bash -c 'echo A'
Password:
A': -c: line 0: unexpected EOF while looking for matching `''
A': -c: line 1: syntax error: unexpected end of file
Jeśli wprowadzę wiersz
su aUser -s /bin/bash -c 'echo A'
działa bezpośrednio zgodnie z oczekiwaniami.
Wydaje się, że moje założenie, że $ COMMAND jest równoznaczne z wprowadzeniem treści, ponieważ bezpośrednie polecenie jest nieprawidłow
Pytani1) Czy ktoś wie, jak mogę uruchomić polecenie ze zmiennej?
2) Jaka dokładnie jest różnica między
COMMAND="command"
$COMMAND
command
?