シェルスクリプトの追跡とトラブルシューティング(スクリプトはデバッグされず、スクリプトの用途は何ですか)

シェルスクリプトのデバッグと問題の判断

スクリプトのデバッグと問題の判断

[root @ localhost〜] #sh [-nvx]スクリプトファイル

オプションとパラメーター:

-n:スクリプトを実行せず、構文の問題のみを照会します。

-v:スクリプトを実行する前に、スクリプトの内容を画面に出力します。

-x:使用したスクリプトの内容(実行プロセス)を画面に表示します

1.構文クエリ

1から100までの整数の合計のスクリプトファイル

#!/bin/bash
sum=0
i=0
while [ ${i} -ne 100 ]
do
i=$[$i+1]
sum=$[$sum+$i]
done
echo "运算结果是:$sum"

次に、確認のために最後の引用符を意図的に漢字に変更しました

ここに画像の説明を挿入

そして、戻り値は0ではありません

[root@localhost ~]#sh -n sum1.sh 
sum1.sh:行9: 寻找匹配的 `"' 是遇到了未预期的文件结束符
sum1.sh:行10: 语法错误: 未预期的文件结尾
[root@localhost ~]#echo $?
2

次に、文字を修正し、文法上の問題についてスクリプトを再度テストします

ここに画像の説明を挿入

2.実行プロセスを表示します

例2:

1からユーザー入力値の累積整数合計まで、sh-xスクリプトファイルを使用して実行プロセスを表示します

  • スクリプトファイルは
#!/bin/bash
read -p "请输入整数值(1-100):" nu
sum=0
i=0
while [ ${i} -ne ${nu} ]
do
i=$[$i+1]
sum=$[sum+i]
done
echo "从1到${nu}的运算结果是:$sum"

  • 実行プロセスを表示する

ここに画像の説明を挿入

3.2つのオプションsh-vxスクリプトファイルも利用できます

スクリプトファイルの内容を見に来ると、スクリプトの実行プロセスを見ることができ、アイデアがより明確になります!

ここでは、次のように関数スクリプトを使用して検証します

#!/bin/bash   #所用shell
function db1 {    #db1是函数名
   read -p "请输入:" value #value是变量名
   return $[$value * 2]   #返回值取所输入的变量名的值和2的乘积的结果值
}
db1   #调用函数
echo $?  #输出返回值(输出上个命令执行结果的返回值)

ここに画像の説明を挿入

4.コマンドモードに入ります。nuを設定し、Enterキーを押して行番号を表示します。

特にスクリプト行数が多い場合は、指定行が間違っていても、人間の目がまったく数えられないことがあります。コマンドモードで英字コロン「:」を入力して最終行モードに入る必要があります。 set nuコマンドを入力し、Enterキーを押して、スクリプトの内容を一覧表示します。対応する行数

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_35456705/article/details/111873134