質問するログイン新規登録

回答編集履歴

1

シバンの意味の説明を忘れていた

2017/08/25 02:26

投稿

maisumakun
maisumakun

スコア146731

answer CHANGED
@@ -1,3 +1,5 @@
1
+ シバンは、+x属性を付けて(`./***.sh`のような形で)**ファイル自体を実行する**場合に必要なものです。`sh ***.sh`のようにシェルの引数に投げるだけであれば特に不要です。
2
+
1
3
  単にシェルスクリプトを書く場合は、`#!/bin/sh`(厳密にshの文法で書く場合)、あるいは`#!/bin/bash`(Bash拡張を使う場合)をおすすめします。shやbashの置き場が違う環境は、あまりありません。
2
4
 
3
5
  Rubyの場合、(特にrbenvを挟むなど複雑な環境でRubyを立ち上げないといけない場合もあるので)シバンで直接書くのが煩雑になるし、環境によっても変化するので、対策として`#!/usr/bin/env ruby`のように書くことがありますが、あまり行儀がいいとはいえませんし、シェルスクリプトの場合は通常そのようなことをしないので不要です。