程序執行的返回值:
$? :最後一次執行命令的返回狀態,如果正確執行,則返回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