উত্তর:
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
দয়া করে - না-স্কোপ-শেডিং বিকল্পের ব্যাখ্যা দেখুন
-S বা --no-স্কোপ-শেডিং ফাংশনটিকে কলিং ফাংশনের ভেরিয়েবল অ্যাক্সেসের অনুমতি দেয়। সাধারণত, কলিং ফাংশন থেকে ভেরিয়েবলের একই নামযুক্ত ফাংশনের অভ্যন্তরে যে কোনও ভেরিয়েবলগুলি "ছায়াময়" হয় এবং তাদের বিষয়বস্তু কলিং ফাংশন থেকে পৃথক।