確認
現在のシェル
echo $SHELL
| 1 2 | [vagrant@localhost laravel]$ echo $SHELL /bin/bash | 
使用可能なシェル
cat /etc/shells
| 1 2 3 4 5 | [vagrant@localhost laravel]$ cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash | 
bashへのリンク
多くのLinuxでは、/bin/shはそのままのsh(Bourne Shell)ではなく、bashへのシンボリックリンクになっている。
| 1 2 | [vagrant@localhost test]$ ls -l /usr/bin/sh lrwxrwxrwx. 1 root root 4  5月 13  2020 /usr/bin/sh -> bash | 
スクリプトの書き方と実行
1行目にShebang
スクリプトの1行目で実行するシェルを指定する。この1行目の表現はShebangと呼ばれる。
#!/bin/bash
| 1 2 3 | #!/bin/bash echo 'Hello.' echo 'Nice to see you.' | 
実行権限を与える
普通にスクリプトを作成した場合、実行権限がない。
| 1 2 3 4 5 | vagrant@localhost shell]$ ls -al 合計 4 drwxrwxr-x. 2 vagrant vagrant 21  6月 30 06:19 . drwxrwxr-x. 3 vagrant vagrant 50  6月 30 06:19 .. -rw-rw-r--. 1 vagrant vagrant 49  6月 30 06:19 test.sh | 
chmodで実行権限を与える。全ユーザーで実行可能にするなら755を指定。
chmod 755 スクリプト名
| 1 2 3 4 5 6 | [vagrant@localhost shell]$ chmod 755 test.sh [vagrant@localhost shell]$ ls -al 合計 4 drwxrwxr-x. 2 vagrant vagrant 21  6月 30 06:19 . drwxrwxr-x. 3 vagrant vagrant 50  6月 30 06:19 .. -rwxr-xr-x. 1 vagrant vagrant 49  6月 30 06:19 test.sh | 
パスを指定して実行する
スクリプトの場所にパスが通っていない場合は、カレントディレクトリーからのパスで指定して実行。
./スクリプト名
| 1 2 3 | [vagrant@localhost shell]$ ./test.sh Hello. Nice to see you. | 
フルパスでもよい。
| 1 2 3 | [vagrant@localhost shell]$ /home/vagrant/test/shell/test.sh Hello Nice to see you | 
スクリプトがパスが通っている場所にあるなら、スクリプト名だけで実行可能。
| 1 2 3 4 | [vagrant@localhost test]$ sudo cp test.sh /bin [vagrant@localhost test]$ test.sh Hello. Nice to see you. |