EDITOR=vim crontab -e
ในทุบตีฉันจะทำ ฉันจะได้รับผลกระทบที่คล้ายกันในเปลือกหอยปลา
EDITOR=vim crontab -e
ในทุบตีฉันจะทำ ฉันจะได้รับผลกระทบที่คล้ายกันในเปลือกหอยปลา
คำตอบ:
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-scope-shadowing ช่วยให้ฟังก์ชั่นการเข้าถึงตัวแปรของฟังก์ชั่นการโทร โดยปกติแล้วตัวแปรใด ๆ ภายในฟังก์ชั่นที่มีชื่อเดียวกับตัวแปรจากฟังก์ชั่นการโทรคือ "แชโดว์" และเนื้อหาของพวกเขาเป็นอิสระจากฟังก์ชั่นการโทร