Shell——read读取控制台输入和函数
生活随笔
收集整理的這篇文章主要介紹了
Shell——read读取控制台输入和函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、read讀取控制臺輸入
- 1.基本語法
- 2.示例演示
- 二、系統函數
- 1.basename
- 2.dirname
- 三、自定義函數
- 1.基本語法
- 2.經驗技巧
- 3.示例演示
一、read讀取控制臺輸入
1.基本語法
read+選項+參數
選項:
-p:指定讀取值時的提示符;
-t:指定讀取值時等待的時間(秒)。
參數:
變量:指定讀取值的變量名
2.示例演示
#!/bin/bashread -t 5 -p "請在5秒內輸入一個整數" digit echo $digit運行結果:
二、系統函數
1.basename
(1)基本語法
basename [string / pathname] [suffix]
功能描述:basename命令會刪掉所有的前綴包括最后一個(‘/’)字符,然后將字符串顯示出來。
選項:
suffix為后綴,如果suffix被指定了,basename會將pathname或string中的suffix去掉。
(2)示例演示
2.dirname
(1)基本語法
dirname 文件絕對路徑
功能描述:從給定的包含絕對路徑的文件名中去除文件名(非目錄的部分),然后返回剩下的路徑(目錄的部分))
(2)示例演示
三、自定義函數
1.基本語法
function funname()
{
Action;
[return int;]
}
funname
2.經驗技巧
(1)必須在調用函數地方之前,先聲明函數,shell腳本是逐行運行。不會像其它語言一樣先編譯。 (2)函數返回值,只能通過$?系統變量獲得,可以顯示加:return返回,如果不加,將以最后一條命令運行結果,作為返回值。return后跟數值n(0-255)3.示例演示
舉例寫一個求斐波那契數列中第n個值
#!/bin/bashfunction fib() {a=1b=1if [ $digit -lt 2 ]thenreturn 1elsefor((i = $digit; i > 2; i--))doc=$[$a+$b]a=$bb=$cdonereturn $cfi }read -p "請輸入一個正整數" digitfibecho "第$digit個斐波那契數列值是$?"運行結果:
總結
以上是生活随笔為你收集整理的Shell——read读取控制台输入和函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Shell——流程控制(if、case、
- 下一篇: Shell——常用工具(cut、sed、