bash에서는 할 수 있습니다 EDITOR=vim crontab -e
. 생선 껍질에서도 비슷한 효과를 얻을 수 있습니까?
답변
begin; set -lx EDITOR vim; crontab -e; end
답변
왜 이것이 작동하지 않아야하는지 알지 마십시오
env EDITOR=vim crontab -e
. 쉘을 완전히 우회합니다.
답변
그것은 문서 에서 나온 것입니다
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-scope-shadowing 옵션에 대한 설명을 참조하십시오
-S 또는 –no-scope-shadowing을 사용하면 함수가 호출 함수의 변수에 액세스 할 수 있습니다. 일반적으로, 호출 함수의 변수와 이름이 같은 함수 내부의 모든 변수는 “그림자”이며 그 내용은 호출 함수와 무관합니다.