私はshebangと/usr/bin/env
formを使用してカスタム解釈に従ってスクリプトを実行しようとしています。私のファイルは次のとおりです。
$ cat test.rb
#!/usr/bin/env winruby
print "Input someting: "
puts "Got: #{gets}"
sleep(100)
ただし、以下を実行すると失敗します。
$ ./test.rb
/usr/bin/env: ‘winruby’: No such file or directory
なぜかわかりません。
tv185035@WCZTV185035-001 ~
$ winruby --version
ruby 2.5.1p57 (2018-03-29 revision 63029) [x64-mingw32]
tv185035@WCZTV185035-001 ~
$ env winruby --version
env: ‘winruby’: No such file or directory
tv185035@WCZTV185035-001 ~
$ which winruby
/home/tv185035/bin/winruby
Existswinruby
はパスにあり、実行可能です。しかし、env
見つかりません。私は見ましたが、man env
私に役立つことを教えてくれませんでした。
編集する:
$ cat ~/bin/winruby
#!/usr/bin/bash
winpty /cygdrive/g/WS/progs/Ruby25-x64/bin/ruby.exe "$@"
ベストアンサー1
別の考えられる解決策:
envがパスを正しくチェックできないため、PATH変数が "~"を使用してパスを指定していないことを確認してください。
たとえば、次のような場合
export PATH="$PATH:~/bin"
それに変える
export PATH="$PATH:$HOME/bin"