レコードの追跡を行う彼らの練習を容易にするために
スキルレコード:CTRL + R検索コマンドは、前に入力することができます
1.変数の代入
a=1
b="this is a string"
echo $a
echo $b
2.変数の参照
$記号、単一の変数への直接参照を使用します
echo $a
出力変数の値
文字列変数の値に挿入された(二重引用符でなければなりません)
echo "number is $a"
出力基準変数値、「数が1である」
注目変数参照場合曖昧さが生じる可能性がある
出力変数の値を加えた「_1」、すなわち、「1_1」に
echo "this is $a_1"
、この場合のシェルに出力する「これは」は、A_1を$うA_1変数名が定義されていないとして、可変出力空気
文字列を挿入すると、(変数の非参照値)(単一引用符)$
echo 'number is $a'
出力、$の単一引用符自体を使用することができ、出力値がプリントアウトしません「の数は$です」
3.事前に定義された変数
$ PWD現在のホームディレクトリ
の$ USER現在のユーザ名
の$ HOME現在のユーザのホームディレクトリ
の$ PATH環境変数
4.抗引用符の役割
( ``)アンチ相場含まれるコンテンツは、コマンドの実行として扱われます
a=`ls`
echo $a 输出ls的内容(列出文件夹内文件)
5.lsの使用状況
ls -l
詳細を表示し、ファイル
ls -al
リストに隠されたファイルを含むすべてのファイル
6.レビューインストールパス
which python
インストールパスのpythonの出力
7.配列
定義配列
array=(1 2 3 4)
配列への参照
echo ${array[@]} #返回数组全部元素,1234 --"${array[@]}"带双引号引用时还是返回一个数组
echo ${array[*]} #返回数组全部元素,1234 --"${array[*]}"带双引号引用时会把数组转为字符串后返回如1 2 3 4
echo ${array[1]} #返回数组第1个元素,2
配列の長さ
echo ${#array[@]}
5つの出力が「#」配列の長さを返すことができます
配列に割り当てられたコマンド
arr=(`ls`)
echo ${arr[@]}
以降の括弧()の存在下、及び要素LSコマンドの戻り値を含む、このフォーム、配列ARR、内
8.特殊記号
バックスラッシュ():エスケープecho -e "a\nb"
、入力として-eエスケープモードを旋回示し、\ nは改行、\ Bは、文字、\ Aは、警告音を表す削除する前に表す
2 $を(()):変数操作
。3(()):整数、整数としてプロセス変数の内側に、拡張= 1、B = 3 ;エコー$((+ b)は) 出力4
4({1..10})。 SEQ1 10に相当。戻る1〜10
5.抗引用符(「」):そのコマンドの出力を示している
6 $(LS)を:.ショー結果実行LS後
7論理判定文で、TrueまたはFalseの結果を返す前に$ :?
9.変数タイプ
1.文字列
2.数値
3.ブール:0はFalseにはゼロで、真であります
10.数値計算
1. ++ A--のように自己通電します
11.文字列操作
a="this is a string"
echo ${a:6} # 输出is a string
echo ${a:6:7} # 输出is a st"
echo ${a#this} #输出"is a string"
echo "${a#this}" #输出" is a string" (不去掉空格)
echo "${a#*s}" #输出" is a string",\*为通配符
echo "${a##*s}" # 输出"tring" ,从开头匹配最后一个s,并切片输出
echo "${a%string}" #输出"this is a ",去尾,
echo "${a%%*s}" # 输出"thi" ,从结尾开始匹配最后一个s,并切片输出
echo ${a/a/two} #输出 "this is two string",替换字符串
echo ${a//i/q} #输出"thqs qs a strqng",所有匹配到的字符串均会被替换
12種類の決意
算術判決
1 2 -eq 2]に等しい。
2. [2 -ne 3]不等
3 3 1 -gt]より大きい
より[3 -ge 3] 4、または等しい
5 3 -lt 4]未満である
6 3 -le 3]以下
7(> 20(3))
文字列の比較
1. [STR1 = STR2]
2. [str2の!= STR1]
3. [-n 0009]文字列の空でない、Trueを返す
4. [-Z STR]の文字列を空で、Trueを返す
。5. [[「XXX 「== X *]] *ワイルドカード、ゼロ以上の任意の文字
6 [XXX == X ?? ] ??ワイルドカード、任意の文字
分析ロジック
1 2 -ge 1 -a 3 -ge 4] ;?エコー$ 動作-a、
2 [2 1 && -ge -ge。4. 3] ;?エコー$ OP &&
3 2 1 -ge -o 3 -ge 4];?エコー $ オア-o
4. [2. 1 || -ge -ge 4. 3];?エコー$ OR演算||。
5. [2 -ge 1];!。エコー$?非!
内蔵裁判官
1. [ -e file ]
ファイルはTRUEを返し存在
2. [ -d file ]
ファイル、サブディレクトリ、戻り真
3. [ -f file ]
ファイルは、通常のファイルでtrueを返す
4. [ -r file ]
ファイル可読trueを返し、trueを返すファイルの長さが0ではないを6 戻る真、ファイルを書くことができます。7. ファイルの実行可能ファイルは、trueを返します[ -s flie ]
[ -w file ]
[ -x file ]
ロジック制御
1.if
if [ -e test ];then echo exit;else echo false;fi
2.case
3.for選択するまで、しばらく
4。&& ||
5.break続けます