シェルスクリプト

vi test.sh
test.sh
#!/bin/sh
 
echo "Hello World"

1行目の#!/bin/shは、このファイルはシェルスクリプトですという宣言。

#!シェバンと読む。

CentOSでは、/bin/sh/bin/bashへのシンボリックリンクになっている。

sh test.sh

sh ファイル名でシェルスクリプトを実行。

実行結果
Hello World

画面にHello Worldと表示される。

`(バッククォート)で囲んだ部分は、コマンドとして実行され、結果が出力される。

test.sh
#!/bin/sh
 
echo `date`
sh test.sh
実行結果
2021年 7月 2日 金曜日 20:52:59 JST
test.sh
#!/bin/sh
 
DATE=`date "+%Y_%m%d"`
echo $DATE

変数=値で変数に値をセットする。

=の左右にスペースを入れてはならない。

$変数で変数の値を利用できる。

sh test.sh
実行結果
2021_0702
test.sh
#!/bin/sh
 
echo $0

$0という特殊変数の中にファイル名が格納されている。


sh test.sh
実行結果
tesh.sh
test.sh
#!/bin/sh
 
DIR_SCRIPT=`dirname $0`
echo $DIR_SCRIPT
sh test.sh
実行結果
.
sh /home/user1/test.sh
実行結果
/home/user1

shコマンドをを実行するときのファイル指定の仕方で結果が変わる。

test.sh
#!/bin/sh
 
DIR_SCRIPT=$(cd $(dirname $0); pwd)
echo $DIR_SCRIPT

cdでファイルのあるディレクトリへ移動、pwdでディレクトリの絶対パスを取得。

$()の中にコマンドを書くと、実行結果を変数として利用できる。

$()の中では、;で区切ると複数のコマンドを実行できる。


sh test.sh
実行結果
/home/user1/

  • 最終更新: 2021/07/03 09:58