जवाबों:
begin; set -lx EDITOR vim; crontab -e; end
set -lx date '12/04/2012'
begin; set -lx date '12/04/2012'; ruby -e 'puts ENV["date"]'; end
env SOME_VAR=1 command
यह न देखें कि यह काम क्यों नहीं करना चाहिए:
env EDITOR=vim crontab -e
यह पूरी तरह से शेल को बायपास करता है।
env SOME_VAR=1 echo $SOME_VAR
SOME_VAR=1 command produces an error: Unknown command "SOME_VAR=1".
Env कमांड का उपयोग करें।
env SOME_VAR=1 command
आप एक ब्लॉक में एक स्थानीय चर भी घोषित कर सकते हैं और यह शेल को बायपास नहीं करेगा
begin
set -lx SOME_VAR 1
command
end
be
फ़ंक्शन की परिभाषा के आधार पर , यह विफल हो सकता है
begin
set -lx RAILS_ENV staging
be rails r "p ENV['RAILS_ENV']"
end
यह काम करने के लिए:
function be --description 'Runs bundle exec' --no-scope-shadowing
bundle exec $argv
end
कृपया, --no- स्कोप-शैडोइंग विकल्प का स्पष्टीकरण देखें
-S या --no- स्कोप-शैडोइंग फ़ंक्शन फ़ंक्शन को कॉलिंग फ़ंक्शन के चर तक पहुंचने की अनुमति देता है। आम तौर पर, फ़ंक्शन के अंदर कोई भी चर जिसका नाम फ़ंक्शन फ़ंक्शन से चर के समान होता है, "छाया" होता है, और उनकी सामग्री कॉलिंग फ़ंक्शन से स्वतंत्र होती है।