背景
犬の頭がそれに接触したとあるため、多くの場合、セクション上のLinuxでモデルを実行する前に、いくつかのコマンドを入力するか、いくつかの構成パラメータを設定し、いくつかのコードを呼び出す必要があり、それを入力する必要があり、最近の仕事のシェルスクリプトを、学ぶ理由あまりにも面倒、と間違いがあるかもしれない、状況が不足している、この時間は、シェルスクリプトは、これらの問題を解決することができます。私たちは、統一されたコマンドを管理するためのシェルスクリプトを記述して、一度にこれらの操作を行う目的を達成するためのシェルスクリプトを実行することができます。この資料では、継続的にああ更新されます!
シェルスクリプトとは何ですか?
実際には、すでに見たことがあるかもしれませシェルスクリプトは、シェルスクリプトは、と通常は.SH(のような単なるテキストエディタを持つようにコードを書くことができますシェルスクリプトを記述し、接尾辞ファイル私たちの以前に学習したJavaやPythonに似てVIM)し、その後、あなたがshを使って実行することができ、その上にスクリプトインタプリタの実装を説明します。
例で学びます
Linuxで直接のvimでshスクリプトを作成することができます
vim test.sh
例1
#! /bin/bash
# This is my first shell script
echo "Hello World!"
date
最初の行の#!固定フォーマットで、インタプリタを指定するために使用されます。
#2行目の先頭、コメントされている
第三の行のは、印刷することと等価である
印刷時に、我々はLinuxで直接同等の日付を入力して第四の行を
その後、我々はSHでそれを実行します
sh test.sh
例2
我々はいくつかの異なる追加スクリプトを実行しよう
最初:
#! /bin/bash
# input: x, y
# return x + y
echo "pls enter a num:"
read x
echo "pls enter another:"
read y
sum=`expr $x + $y`
# sum=$[$x+$y]
echo "The sum is $sum."
約説明、1)ここで、値が読み取られたユーザの意志入力、および後者に渡されたパラメータ2)SUM =共に3に接合されなければならない)あまりにもすべての以前に定義されたパラメータを使用する必要性、$ 4を添加しなければならない)オペレータexprの、どこに注意を払うことによって実現`抗引用符、および注意を払うボックスの内部へと劣ら(および他のプログラミング言語が同じでないん)
第二:
#! /bin/bash
sum=$[$1+$2]
echo "${sum}"
ランタイム
sh add2.sh 3 4
# 7
何を、解釈1)ここで、$ 1、加えて、指定されたランタイムのための$ 2最初の2つのパラメータ、スクリプトを自分のために\(0; 2)\)でSUMと$ {}の和、つまりそれより正確に{}
第三:
#! /bin/bash
# use function
function sum(){
sum=$[$1+$2]
echo $sum
}
sum $1 $2
ラン
sh add_fn.sh 3 4
# 7
それは関数の形で使用され、他のプログラミング言語が類似しているもののように。
例3
事業者間の関係、および判決について教えてください
#! /bin/bash
# compare two number
# use if elif else clause
read -p "x1 = " x1
read -p "x2 = " x2
if (($x1>$x2)); then
echo "result: x1 > x2"
elif (($x1==$x2)); then
echo "result: x1 = x2"
else
echo "result: x1 < x2"
fi
約説明、1)より少ない冗長X1とX2方法を読み取る; 2)注括弧とセミコロンの後ろであればその3)注Fiの最後のもの
例4
例の使用について教えてください
#! /bin/bash
# check whether odd or even
read -p "pls enter a num:" num
remainder=$[$num%2]
case $remainder in
0)
echo "$num is an even";;
1)
echo "$num is an odd";;
esac
何を、各カテゴリーの増加の背後にある1)ケース解釈); 2つのセミコロン2)注意を払う;; OH; 3)最後ESAC書き込みダウンの場合であります
例5
(のためとしながら)ループを使用する方法について説明
#! /bin/bash
echo "for loop"
for i in `seq 1 5`; do
echo $i
done
echo "while loop"
a=5
while [ $a -ge 1]; do
echo "$a"
a=$[$a-1]
done
説明約,. 1)。SEQ 1. 5は -geは、大きいことを示し、またはより等しいかまたは等しい、以下NE等しい、ル類似存在しない)2、範囲(1,6)と同様1~5の数を生成するために使用されます行わ3)注; GTはより大きく、LT未満であります