bash預定義變量+read(獲取鍵盤輸入)

程序執行的返回值:

$? :最後一次執行命令的返回狀態,如果正確執行,則返回0;
    如果返回爲非零(具體數值由命令決定),則上一條命令執行不正確

執行完一條命令之後,立馬敲入echo $?,可得到返回值。
例如:ls   執行之後,再敲入echo $?,可以得到0

前面說到的邏輯或:|| -->ls  ||  echo yes ;前面一條語句正確執行,才執行後一條語句。這裏就是通過執行命令的返回值來判斷的
邏輯與:&& -->  ls qwe  && echo no  也是同樣的道理

$$:返回當前進程的PID號;
$!:返回後臺的進程PID號;

可以通過一個簡單的shell來展示一下:
sl.sh
#!/bin/bash
ehco "dang qian de PID: $$"

find / hello.sh &
echo "hou tai de PID: $!"

chmod 755 sl.sh,然後再執行:./sl.sh;可以得到當前的測試的結果

read

read -n
read -p “please input name ” name #-p表示輸出提示信息 read [選項] 變量名
read -t 30 #-t 表示等待時間單位爲秒 -t 30 表示30秒,若30秒後沒有輸入數據終止執行腳本
read -s #隱藏信息
echo -e “\n” 換行符

read.sh:

#!/bin/bash
read -p "please input your name:" -t 30 name
#等下輸入,如果超過30秒不輸入,就終止當前命令
echo $name

read -p "please input your password:" -s  pwd
#輸入的值是隱藏的,看不見的,但是在sh裏面還是可以獲取到的,並且輸出的
echo -e "/n"
echo $pwd

read -p "please input your sex [M/F]:" -n 1 sex
#意思就是隻能輸入一個字符,且輸入之後立馬執行
echo -e "/n"
echo  $sex

執行

chmod 755 read.sh
./read.sh

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章