bashのシェルスクリプトを書く

シェルスクリプト書いてみたけど実行するのにいちいちsh ./hoge.shとかするのがめんどくさいからコマンドっぽくしたかったので調べた。
シェルって言ってもsh,ksh,zshとかいろいろ種類があって、その中の1つがbash、らしい(聞いただけ。後で調べる)

とりあえず~/binをmkdirしておいて、~/.bashrcにそこへのPATHを通します。
参照:Ubuntu PATHを追加する | BTY備忘録

$echo $PATH

で home/yutechi/binが出てきた!PATH通った!

bashシェルスクリプトを書いてみる。echoで"HelloWorld!"させるだけ。
で、実行するまえに権限の確認

$ls -l helloworld.sh
 -rw-rw-r-- 1 yutechi ほげほげ~

rw権(読み・書き)はあるけどx権(実行)がない。ので追加

$chmod +x helloworld.sh

で、権限の確認

$ls -l helloworld.sh
 -rwxrwxr-x 1 yutechi ほげほげ~

x権げっとしました。

PATHも通っているので、これで、どこのディレクトリにいてもhelloworld.shしたらechoされます。なんかスマートな感じする。
けど、.shじゃなくて、helloworldだけで動いてくれないのかしら。と思ったので、ファイル名の拡張子削ってみました。
そんなことが許されるのか!と思ったけどうまくいきました。なんで?(後で調べる)