próbuję uruchomić program tak:Jak zmusić bash/zsh do oceny parametrów, jak wiele argumentów po nałożeniu na komendzie
$CMD $ARGS
gdzie $ ARGS jest zbiorem argumentów ze spacjami. Jednak wydaje się, że zsh przekazuje zawartość $ ARGS jako pojedynczy argument do pliku wykonywalnego. Oto konkretny przykład:
$export ARGS="localhost -p22"
$ssh $ARGS
ssh: Could not resolve hostname localhost -p22: Name or service not known
Czy istnieje flaga bash lub zsh, która kontroluje to zachowanie?
Należy pamiętać, że po umieszczeniu tego typu polecenia w skrypcie $!/Bin/sh działa on zgodnie z oczekiwaniami.
Dzięki,
setjmp
Czy to nie oznacza, że zsh nie jest zgodny z POSIX? – jpalecek
@jpalecek Nie jest to wymagane, chyba że jest to wyraźnie wymagane (ustawiając niektóre opcje, wywołując je za pomocą symlinka '**/sh' ->'/bin/zsh' lub używając 'emulate sh' (który z kolei ustawia pewne opcje)). – ZyX