Basit bir senaryom var:
#!/usr/bin/env ruby --verbose
# script.rb
puts "hi"
OSX kutumda iyi çalışıyor:
osx% ./script.rb
hi
Ancak, linux kutumda bir hata atıyor
linux% ./script.rb
/usr/bin/env: ruby --verbose: No such file or directory
Shebang hattını manuel olarak çalıştırırsam, iyi çalışıyor
linux% /usr/bin/env ruby --verbose ./script.rb
hi
Ancak, ruby --verbose
tek bir argümana toplanırsam hatayı çoğaltabilirim .env
linux% /usr/bin/env "ruby --verbose" ./script.rb
/usr/bin/env: ruby --verbose: No such file or directory
Bu yüzden bunun env
shebang hattının sıfırlanmasının nasıl yorumlanacağı ile ilgili bir sorun olduğunu düşünüyorum . GNU coreutils kullanıyorum 8.4 env
:
linux% /usr/bin/env --version
env (GNU coreutils) 8.4
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Richard Mlynarik and David MacKenzie.
Bu gerçekten garip görünüyor. Bu, bu sürümle ilgili ortak bir sorun env
mu, yoksa bilmediğim bir şey mi var?