read 讀取控制臺輸入
基本語法
read 選項 參數
選項
-p 指定讀取值時的提示符
-t 指定讀取值時等待的時間(秒),如果沒有在指定的時間內輸入,就不再等待了
參數
變量:指定讀取值的變量名
實例:
1、讀取控制臺輸入一個num值
2、讀取控制臺輸入一個num值,在10秒內輸入
vi test_read.sh
#!/bin/bash
#讀取控制臺輸入一個num值
read -p "請輸入一個num1=" num1
echo "輸入的num1=$num1"
#讀取控制臺輸入一個num值,在10秒內輸入read -t 10 -p "請輸入一個num2=" num2echo "輸入的num2=$num2"
函數:系統函數和自定義函數
basename
功能:返回完整路徑最后/的部分,常用于獲取文件名
語法
basename [pathname] [suffix]
suffix 為后綴 ,如果suffix被指定了,basename會將pathname或string中的suffi去掉
dirname
功能:返回完整路徑最后/前面的部分,常用于返回路徑部分
實例
1、請返回/root/test_shell_code/test_read.sh 的test_read.sh部分
basename /root/test_shell_code/test_read.sh
basename /root/test_shell_code/test_read.sh .sh
2、請返回/root/test_shell_code/test_read.sh 的/root/test_shell_codebuf
dirname /root/test_shell_code/test_read.sh .sh
自定義函數
基本語法
[ function ] funname [()]
{
代碼
[reutrn int;]
}
調用 直接寫函數名:funame [值]
實例
1、計算輸入的兩個參數的和,getSum
vi test_fun.sh#!/bin/bash
function getSum(){SUM=$[$1+$2]echo "總和=$SUM"
}
read -p "請輸入一個數n1=" n1
read -p "請輸入一個數n2=" n2
getSum $n1 $n2
如果想要getSum 函數在別的sh文件里調用
vi test_fun.sh#!/bin/bash
function getSum(){SUM=$[$1+$2]echo "總和=$SUM"
}
vi test_fun2.sh
#!/bin/bash
#導入sh 文件
#source /root/test_shell_code/test_fun.sh
#或者使用簡寫
. /root/test_shell_code/test_fun.sh
read -p "請輸入一個數n1=" n1
read -p "請輸入一個數n2=" n2
getSum $n1 $n2