あなたの最初のbashスクリプトを書く方法?
5983 ワード
導入
bashスクリプトを使用すると、LinuxとUnixシステム上のタスクの多くを自動化することができます.bashは強力で頑丈なスクリプト言語でLinuxコマンドとツールのパワーを兼ね備えています.
bashは様々なオペレーティングシステムで広く利用できます.多くの場合、bashはほとんどのLinuxシステムではデフォルトのコマンドインタプリタでもあります.
本稿では、あなたの最初のbashスクリプトを書く方法をあなたに教えます!
必要条件
始める前に、bash端末とテキストエディタが必要になります.
私は、デジタル上で展開されるUbuntu液滴を使用しています.あなたがフォローしたいならば、あなたは下記の私の紹介リンクを通してDigitaloceanにサインアップすることができます、そして、あなたは100ドルの自由なDigitalal信用を得ます:
Free $100 DigitalOcean Credit
スクリプトの計画
例として、以下のようなサーバに関する有用な情報を集めたスクリプトを書きます.
スクリプトを書く
まず最初に行う必要があるのは、新しいファイルを作成することです
.sh
拡張.ファイルを作成しますstatus.sh
我々が作成するスクリプトが我々に我々のサーバーの地位を与えるように.ファイルを作成したら、お気に入りのテキストエディタで開きます.
bashスクリプトの最初の行では、いわゆるShebang :
#!/bin/bash
Shebangが行うすべては、/bin/bash実行可能ファイルでスクリプトを実行するオペレーティングシステムを指示することです.コメントの追加
人々がスクリプトが使用されるものを簡単に理解することができるように、若干のコメントを加えることから始めましょう.Shebangの直後に行うには、次のように追加できます.
#!/bin/bash
# Script that returns the current server status
最初の変数の追加
それから、進んで、スクリプトを通して使用するかもしれない若干の変数を加えましょう.
bashの変数に値を割り当てるには、
=
サイン.たとえば、後で使用できるように、サーバーのホスト名を変数に格納しましょう.server_name=$(hostname)
使用によって$()
bashに命令を実際に解釈し、値を変数に代入します.もし変数をエコーするなら、現在のホスト名を見ます:
echo $server_name
最初の関数の追加
bashで関数を作成するには、次の構造を使用する必要があります.
function function_name() {
your_commands
}
サーバ上の現在のメモリ使用量を返す関数を作成しましょう.function memory_check() {
echo ""
echo "The current memory usage on ${server_name} is: "
free -h
echo ""
}
関数のクイックランダウン:function memory_check() {
- このようにして関数を定義するecho ""
- ここでは、ちょうど新しい線を印刷しますecho "The current memory usage on ${server_name} is: "
- ここではすべての小さなメッセージを印刷$server_name
変数}
- 最後に、これは機能を閉じる方法です# Define the function
function memory_check() {
echo ""
echo "The current memory usage on ${server_name} is: "
free -h
echo ""
}
# Call the function
memory_check
機能追加の追加
解決策をチェックする前に、私は上記から機能を使用して、いくつかの関数を自分で書くことに挑戦します.
以下の関数を実行します.
したら、準備ができたら、下にスクロールして、どのように我々はそれをした結果を比較してください!
それを行うには、複数の正しい方法があることに注意してください!
サンプルスクリプト
最後の結果は次のようになります.
#!/bin/bash
##
# BASH script that checks:
# - Memory usage
# - CPU load
# - Number of TCP connections
# - Kernel version
##
server_name=$(hostname)
function memory_check() {
echo ""
echo "Memory usage on ${server_name} is: "
free -h
echo ""
}
function cpu_check() {
echo ""
echo "CPU load on ${server_name} is: "
echo ""
uptime
echo ""
}
function tcp_check() {
echo ""
echo "TCP connections on ${server_name}: "
echo ""
cat /proc/net/tcp | wc -l
echo ""
}
function kernel_check() {
echo ""
echo "Kernel version on ${server_name} is: "
echo ""
uname -r
echo ""
}
function all_checks() {
memory_check
cpu_check
tcp_check
kernel_check
}
all_checks
デバッグとテスト
bashスクリプトをデバッグするには、スクリプトを実行するときに- Xを使用できます.
bash -x ./your_script.sh
または追加することができますset -x
デバッグする特定の行の前に、- Xを設定すると、実行しているコマンドが端末に出力されるシェルのモードを有効にします.スクリプトをテストするもう一つの方法は、この素晴らしいツールを使うことです.
https://www.shellcheck.net/
ちょうどテキストボックスにコードをコピーして貼り付け、ツールはあなたのスクリプトを改善する方法についていくつかの提案を与える.
もっと学ぶ
bashスクリプトは素晴らしいです!あなたがdevops/sysopsエンジニア、開発者、または単にLinux愛好家であるならば、あなたは異なるLinuxコマンドを結合するためにbashスクリプトを使用することができて、退屈で反復的な毎日の仕事を自動化するので、より生産的で楽しいものに集中することができます!
bashについての詳細は次のbash電子ブックをご覧ください.
Introduction to Bash scripting eBook
さえずりの上で私をタグ付けすることによって、私とあなたのスクリプトを共有してください
Reference
この問題について(あなたの最初のbashスクリプトを書く方法?), 我々は、より多くの情報をここで見つけました https://dev.to/bobbyiliev/how-to-write-your-first-bash-script-5667テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol