To jest o wiele łatwiejsze. Jedynym problemem jest to, że ominięcie skorupy uniemożliwia wszelkie niestandardowe polecenia dotyczące ryb, które prawdopodobnie są zablokowane w pamięci mięśni.
JohnMetta
Widziałem to również w dokumentach, ale dlaczego nie działa następująca? env SOME_VAR=1 echo $SOME_VAR
-S lub --no-scope-shadowing pozwala tej funkcji na dostęp do zmiennych wywoływanych funkcji. Zwykle wszelkie zmienne wewnątrz funkcji, które mają takie same nazwy jak zmienne z funkcji wywołującej, są „zasłaniane”, a ich zawartość jest niezależna od funkcji wywołującej.
set -lx date '12/04/2012'
begin; set -lx date '12/04/2012'; ruby -e 'puts ENV["date"]'; end
env SOME_VAR=1 command
Nie rozumiem, dlaczego to nie powinno działać:
env EDITOR=vim crontab -e
całkowicie omija powłokę.
źródło
env SOME_VAR=1 echo $SOME_VAR
To z Dokumentacji
Użyj polecenia env.
Możesz także zadeklarować zmienną lokalną w bloku, która nie pomija powłoki
źródło
w zależności od definicji
be
funkcji może się to nie powieśćAby to działało:
Zobacz wyjaśnienie opcji --no-scope-shadowing
źródło