1
今日、私はRubyからスクリプトを呼び出しようとしました。私は「SHのaaa.sh」としてそれを呼び出す場合、rubyで `。/ myshell`を呼び出すとコマンドが見つかりません
irb(main):012:0> `which aaa.sh`
=> "/root/rocky/aaa.sh\n"
irb(main):013:0> `aaa.sh`
(irb):13: command not found: aaa.sh
=> ""
irb(main):014:0> `./aaa.sh`
(irb):14: command not found: ./aaa.sh
=> ""
しかし、私はこのようでした:
`./aaa.sh`,
が、それは「コマンドが見つからない」が返さ、ここでのirbのセッションログですできます。
irb(main):015:0> `sh aaa.sh`
=> "aaa.sh\ntest.rb\n"
これは間違っていますか?
うわー、ありがとう!私は#!/ bin/shが欠けていました。 – Rocky
そして、私は面白い解決策を見つけました。 './aaa.sh \ n'が動作します!何故ですか?私のルビーは1.8.6です – Rocky
@Rocky: '\ n'は他の先頭と末尾の空白のように無視されていますので、'。/ aaa.sh'と同じです。 –