(1)サンプル
たとえば、以下のファイルを作る。test.sh
#!/bin/sh
echo "hello"
実行する
#./test.sh

すると、シェルファイルに記載したコマンドが実行される。
Windowsでファイルを作ってUploadしても、文字コードの関係でうまく実行できなかった。viで開いても同じなのだが、fileコマンドで見ると、ファイル形式が違うという。そして、実行してもエラーになる。
→解決策
Windowsでファイルを作ってLinuxに送る場合、UnicodeはUTF-8(BOM無)、改行コード LF onlyとする。こうしないと、Linux側でうまく実行されない。
まあ、ファイルをUploadするときは、TeraTermのSSH SCPがいいだろう。
http://sm.seeeko.com/archives/21206156.html

(2)Linuxのシェル
Linuxでは、デフォルトでbashが使われる。
使えるシェルのリストの確認(?あってるかな?)は、以下
$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash

(3).bash_history
これはbashのコマンド履歴が表示される。ファイルのありかは、ユーザのホームディレクトリ。

・bashのhistoryを消す
history -c
また、historyファイルを直接編集する方法もあるようだが、これでは消えなかった。どこかにシンボリックリンク?
vi ~/.bash_history

(4)if文
and条件やofもつけられる
-a で条件を重ねることができる。
https://shellscript.sunone.me/if_and_test.html#and-%E6%9D%A1%E4%BB%B6

(5)シェルで環境変数
めちゃくちゃ簡単。コマンド上に打ち込んでもいいし、シェルに書いてもいい
# IP=192.168.1.1
# echo $IP
192.168.1.1
環境変数を消すときは、unset。このとき$はつけない。
# unset IP
# echo $IP

■2.サンプル
(1)複数回繰り返す
これはCのような書き方で、個人的いはわかりやすい。bashでしかできない構文のようだ。
sleep 5として、5秒間隔で実行させている。
#!/bin/bash
for ((i=0 ; i<10 ; i++))
do
 echo "Hello"
 sleep 5
done
→watchコマンドやwhileでもできるようす。
watch -n 5 echo "Hello"