クイックエントリーシェルプログラミング(二)簡単なシェルスクリプトの作成
3963 ワード
Shellスクリプト
Python、PHPスクリプトを作成するには通常言語の関数を把握する必要がありますが、Shellスクリプトは必要ありません.Linuxコマンドを把握するだけでスクリプトを作成できます.Shellスクリプトは複数のLinuxコマンドで構成されているので、複数のLinuxコマンドを組み合わせて1つの脚本に保存することで、他の人に直接使用することができます.
コンボコマンド
ディレクトリに入り、ディレクトリのファイルを表示します.このプロセスでは、
2つのコマンドを別々に実行する形式は次のとおりです.
セミコロン
Shellスクリプトプロセスの作成
では、この2つのコマンドがよく使われているか、他の人に提供されている場合は、この2つのコマンドをShellスクリプトファイルで保存することができます.
01 Shellスクリプトファイルの作成
bashを使用したShellは通常
02 Shellスクリプトの作成
注意が必要なのは、Shellスクリプトの各文の後にプラス符号
03 Shellスクリプトの実行権限を与える
ファイルを作成するときは、デフォルトでは実行権限がありませんので、スクリプトの実行権限を与える必要があります.スクリプトは実行できます.
スクリプト権限の表示
04 Shellスクリプトの実行
Shellスクリプトをbashで実行すると、外部でコマンドを組み合わせて実行した結果と同じ結果になります.
Shellインタプリタの宣言
では、ここでは他の問題も考えてみましょう.このShellスクリプトを異なるシステムで実行するときに問題があると仮定します.システムのデフォルトのShellがbashではない場合、このShellスクリプトを実行すると失敗する可能性があります.bashのいくつかのShell特性がある可能性があるからです.
では、Shellスクリプトファイルの最初の行でどのShellを使用しているかを宣言することができます.フォーマットは次のとおりです.
このように書くメリットは、Shellスクリプトを実行すると、
さっきのtestをshスクリプトは以下のように変更されました.
では、どのShellインタプリタを使用するかを宣言すると、スクリプトを実行する方法が簡単になります.
小結
Shellスクリプトを作成するとき、最初の行は
Python、PHPスクリプトを作成するには通常言語の関数を把握する必要がありますが、Shellスクリプトは必要ありません.Linuxコマンドを把握するだけでスクリプトを作成できます.Shellスクリプトは複数のLinuxコマンドで構成されているので、複数のLinuxコマンドを組み合わせて1つの脚本に保存することで、他の人に直接使用することができます.
コンボコマンド
ディレクトリに入り、ディレクトリのファイルを表示します.このプロセスでは、
cd
とls
の2つのコマンドを実行する必要があります.2つのコマンドを別々に実行する形式は次のとおりです.
[root@lincoding usr]# cd /usr/
[root@lincoding usr]#
[root@lincoding usr]# ls
bin etc games include lib lib64 libexec local sbin share src tmp
[root@lincoding usr]#
セミコロン
;
を使用して、2つのコマンドを組み合わせて順番に実行できます.では、一緒に実行する形式は次のとおりです.[root@lincoding usr]# cd /usr/ ; ls
bin etc games include lib lib64 libexec local sbin share src tmp
[root@lincoding usr]#
Shellスクリプトプロセスの作成
では、この2つのコマンドがよく使われているか、他の人に提供されている場合は、この2つのコマンドをShellスクリプトファイルで保存することができます.
01 Shellスクリプトファイルの作成
bashを使用したShellは通常
.sh
で接尾辞される[root@lincoding home]# touch test.sh
02 Shellスクリプトの作成
vi
コマンドでtest.sh
スクリプトを作成します.内容は次のとおりです.cd /usr/
ls
注意が必要なのは、Shellスクリプトの各文の後にプラス符号
;
は使用されず、各コマンドは改行され、Shellスクリプトを実行するときに順番に実行されます.03 Shellスクリプトの実行権限を与える
ファイルを作成するときは、デフォルトでは実行権限がありませんので、スクリプトの実行権限を与える必要があります.スクリプトは実行できます.
[root@lincoding home]# chmod u+x test.sh
スクリプト権限の表示
[root@lincoding home]# ls -l test.sh
-rwxr--r--. 1 root root 13 Sep 12 09:10 test.sh
04 Shellスクリプトの実行
Shellスクリプトをbashで実行すると、外部でコマンドを組み合わせて実行した結果と同じ結果になります.
[root@lincoding home]# bash test.sh
bin etc games include lib lib64 libexec local sbin share src tmp
Shellインタプリタの宣言
では、ここでは他の問題も考えてみましょう.このShellスクリプトを異なるシステムで実行するときに問題があると仮定します.システムのデフォルトのShellがbashではない場合、このShellスクリプトを実行すると失敗する可能性があります.bashのいくつかのShell特性がある可能性があるからです.
では、Shellスクリプトファイルの最初の行でどのShellを使用しているかを宣言することができます.フォーマットは次のとおりです.
#!/bin/bash
このように書くメリットは、Shellスクリプトを実行すると、
bash
解釈器のShellでスクリプトを実行することを自動的にシステムに伝えることです.さっきのtestをshスクリプトは以下のように変更されました.
#!/bin/bash
cd /usr/
ls
では、どのShellインタプリタを使用するかを宣言すると、スクリプトを実行する方法が簡単になります.
[root@lincoding home]# ./test.sh
bin etc games include lib lib64 libexec local sbin share src tmp
小結
Shellスクリプトを作成するとき、最初の行は
#!/bin/bash
でShell解釈器を宣言し、作成が終わったらShell実行権限を与え、実行することができます.