expr $() $(()) read

3113 ワード

expr
構文
expr Expression
しじえんざん
Shellでの4つの演算は単純に加算除算することはできません.次の形式で書く必要があります.
$>sum=` expr $num1 \* $num2 `#    expr          \*
$>sum=$( expr $num1 \* $num2 ) #  command   ``  
$>sum=$(( $num1 + $num2 )) #    

文字列の操作
$>expr length "this is a test" 

read
readコマンドは、標準入力(キーボード)の入力、または他のファイル記述子の入力を受信します.
readコマンドは-pパラメータを提供するため、readコマンドラインにプロンプトを直接指定できます.
上のスクリプトは次のスクリプトに簡単に書くことができます.
#!/bin/bash read -p “Enter your name:” name echo “hello $name, welcome to my program” exit 0
上のreadの後ろの変数はnameの1つしかなく、複数あってもよい.この場合、複数のデータを入力すると、1番目のデータは1番目の変数に、2番目のデータは2番目の変数に、入力データの数が多すぎると、最後のすべての値は1番目の変数に与えられる.入力が少なすぎると終わりません.
readコマンドを使用すると、潜在的な危険があります.スクリプトは、ユーザーの入力を待つために停止する可能性があります.データ・スクリプトを入力するかどうかにかかわらず実行を続行する必要がある場合は、-tオプションを使用してタイマを指定します.
-tオプションreadコマンドが入力を待機する秒数を指定します.カウントダウンが完了すると、readコマンドはゼロ以外の終了状態を返します.
列は次のとおりです.
#!/bin/bash if read -t 5 -p “please enter your name:” name then echo “hello $name ,welcome to my script” else echo “sorry,too slow” fi exit 0
スクリプト・ユーザー入力が必要になる場合がありますが、入力したくないデータはモニタに表示されます.典型的な例はパスワードを入力することですが、もちろん他にも隠す必要があるデータがたくさんあります.
-sオプションを使用すると、readコマンドに入力されたデータをモニタに表示しないことができます(実際には、データは表示されますが、readコマンドはテキストの色を背景と同じ色に設定します).
列は次のとおりです.
#!/bin/bash read -s -p “Enter your password:” pass echo “your password is $pass” exit 0
最後に、readコマンドを使用してLinuxシステム上のファイルを読み込むこともできます.readコマンドを呼び出すたびに、ファイルの「1行」テキストが読み出されます.ファイルに読み取り可能なローがない場合、readコマンドはゼロ以外の状態で終了します.ファイルを読み込む鍵は、テキストのデータをreadコマンドに転送する方法です.最も一般的な方法は、ファイルにcatコマンドを使用し、readコマンドを含むwhileコマンドの例にパイプを介して結果を直接転送することです.
#!/bin/bash
count=1    #    ,    
cat test | while read line        #cat        read     ,read      line 
do
   echo "Line $count:$line"
   count=$[ $count + 1 ]          #         。
done
echo "finish"
exit 0