3. 変数
$! -- バックグラウンドで実行されている最後のプロセス番号
!$ -- 最後のコマンドまたはパラメータ
!! -- 最後のコマンドの履歴
$0 -- 現在のプログラムのプログラム名またはプロセス
$1 ~$n -- 位置パラメータ変数
#!/bin/bash
echo "$0 = $0"
echo "$# = $#"
echo "$* = $*"
echo "$1 = $2"
echo "$7 = $7"
echo "$11 = ${11}"
# chmod a+x test.sh
# ./test.sh a b c
4.
a. デフォルトでは、変数タイプの要件はありません。変数には任意の値を割り当てることができますが、等号の両側にスペースを入れることはできません
b. 変数名は大文字と小文字が区別されます
c. 変数名は数字や特殊記号で始めることはできません
d.コマンドの実行結果を変数
に渡す5. 変数
# a=$(hostname)
# A=123456789
# echo $A
# echo ${A:2:3}
6. 配列
配列の定義: 配列を定義するには括弧を使用し、括弧内の要素はスペースで区切ります
# array[0]=var1
# array[1]=var2
# array [2]=var3
# array=(var1 var2 var3) -- 上記の 3 行と同じで、配列を定義します
# echo ${array[0]} -- 配列の最初の値を取得します
# echo ${array[*]} -- 配列の値をすべて取得します
# echo ${array[@]} -- 上記と同じ
7. 宣言は型付き変数を定義します
-i -- 変数を整数として扱います
-r -- 読み取り専用変数を定義します
-x -- 変数を環境変数にエクスポートします
-a -- 変数を整数として扱います配列
8. 変数を対話的に読み取ります
-p --プロンプトメッセージ
-n --文字数
-t --timeout
-s --表示されません
4.エイリアス
コマンドのエイリアスは、名前が示すように、コマンドを別の名前で実行できることを意味します。これは通常、コマンド入力を簡素化するため、コマンドにいくつかのパラメータを追加するため、または単にコマンドに複数のアクセス名を追加するために使用されます。
# alias cp mv rm -- 3 つのコマンド cp、mv、rm がエイリアスであるかどうかを確認します
# unalias rm -- エイリアス rm を削除します
# alias cdyum='cd /data/yum' -- 入力を簡略化します
# alias rm='rm -i' -- コマンドにパラメータを追加します
-- 通常、エイリアスは設定ファイル ~/.bashrc に設定されます
1 エイリアス、関数、内部コマンドの優先順位を確認します。 、および外部コマンド レベル
# alias pwd='echo it is an alias' -- pwd エイリアスを作成します
# function pwd() { echo "this is a function" } -- pwd 関数を作成します
; # pwd -- pwd を実行すると、出力がエイリアスであることがわかります
# unalias pwd -- エイリアスを削除し、pwd を再度実行すると、出力が関数 content であることがわかります
# unset pwd -- 関数を削除して、pwd を実行しますもう一度現在のパスを出力します
ので、:Alias>Function>Internal command> external command
5. 条件判定
# vim test
--------------- -------------------- ---
if [条件];then
コマンド...
fi
----------------------
if [条件];then
コマンド...
else
コマンド...
fi
---------------------
if [条件1];then
command1...
elif [条件2];then
command2...
else
command3...
fi
----------------------
if [条件1]; then
command1...
if [条件2];then
command2...
fi
else
if [条件3];then
command3...
elif[条件4] ; then
command4 ...
else
command5 ...
Fi
fi
テスト == [審査員]
🎜🎜 🎜1、ファイルの有無の判定🎜🎜🎜# vim test.sh🎜🎜#!/bin/bash🎜
if テスト -e $1;then -- 存在するかどうか また -p;-c;-b;-L
if [ -f $1 ];then -- 置き換えるには [判定] を使用します
if test -f $1;then -- 存在し、通常のファイルであるかどうか
if test -d $1;then -- 存在し、ディレクトリであるかどうか
if test -S $1;then -- ソケットファイルが存在するかどうかと
echo 'YES'
fi
# chmod a+x test.sh
# ./test.sh [path]
2に関する判定。ファイル権限
-r;-w;-x -- 読み取り、書き込み、実行権限の有無
-u -- suid の有無
-g -- sgid の有無
-k - -t ビットがあるかどうか
-s --それが空のファイルであるかどうか、-s は空ではないことを意味します。 -s 空のファイル
3. 文字列判定
= --等号の両側にスペースがなければなりません: ==
!= --If等しくなく、trueです
- z String - 文字列の長さがゼロの場合はtrue
-n String - 文字列の長さがゼロでない場合はtrue
if test $num1 = $num2; then
if [ $num1 = $num2 ];then
if [ -n $num1 ];then
4. 数値判定
-eq --等しい場合は真です
-ne -- 等しくない場合、true
-gt -- より大きい場合、true
-ge -- 以上の場合、true
-lt --以下の場合は true
-le --以下の場合は true
if test $[num1] -eq $[num2];then
if [ $[num1] -eq $[num2] ];then
5、論理判断
-aと&& --論理 AND
-o および || --論理 OR
! --Not
優先順位: AND>or>Not
if test -e $1 -o -e $2;then -- 決定ファイルが存在するかどうか
if [ -e $1 -o -e $2 ];then -- 上記と同じ
if test ! -e $1 -o ! 2;then -- 同時に 2 つのファイルが存在しないと判断します
if [ ! -e
$1 -o ! -e $2 ];then -- 上記と同じです