1. 程式人生 > >shell指令碼read -t 超時輸入測試

shell指令碼read -t 超時輸入測試

[[email protected] shellStudy]# cat timeout.sh 
#!/bin/bash
TIMEOUT=3 #超時間隔
echo "What is your name?"
echo "Quickly now, you only have $ITMEOUT secconds to answare!"
read name
if [ -z "$name" ]  #未輸入任何值
then
        name="(no answare)"
fi

echo "your name is $name."

echo "input your age,you only have 3 seconds:"
read -t $TIMEOUT age  #使用-t 引數,限制輸入時長

if [ -z "$age" ]   #未輸入任何值
then
        echo "you didnt input anything!"
else
        echo "you age is $age"
fi
exit 0
[
[email protected]
shellStudy]# ./timeout.sh What is your name? Quickly now, you only have secconds to answare! rusky your name is rusky. input your age,you only have 3 seconds: 20 you age is 20 [[email protected] shellStudy]#

相關推薦

shell指令碼read -t 超時輸入測試

[[email protected] shellStudy]# cat timeout.sh #!/bin/bash TIMEOUT=3 #超時間隔 echo "What is your name?" echo "Quickly now, you only have $ITMEOUT secco

shell指令碼read

例項, 檔案 test.sh: read -p "請輸入一段文字:" -n 6 -t 5 -s password echo -e "\npassword is $password" 引數說明: -p 輸入提示文字 -n 輸入字元長度限制(達到6位,自動結束) -t 輸入

Shell基礎--read接受鍵盤輸入

read [選項] [變數名]-選項 -p “提示資訊“:在等待read輸入時,輸出提示資訊-t 秒 :read命令一直在等待使用者輸入,指定等待時間,超時則結束當前等待輸入-n 字元數:read命令只接受指定的字元數量,達到數量立即執行-s 隱藏域,用於機密資訊的輸入,如密碼

shell指令碼專家指南筆記#6_測試變數和設定預設值

## # 本文為《shell指令碼專家指南》一書的學習筆記。 ## 6. 測試變數和設定預設值 6.1. 設定預設值     設定變數預設值的幾種形式,複雜程度遞減。     #     if [ -z "$var" ]; then

Shell指令碼中實現將輸入的字元轉換為*

如果你需要寫一段與使用者互動,且需要輸入一些敏感資訊的(例如:使用者密碼、License等),那麼直接用printf+read的方式,就會把使用者輸入的資訊顯示在螢幕了,這是不符合資訊保安的,而且對客戶體驗來說也顯得不夠專業,所以就需要將使用者輸入的密碼轉換為*,樣式如下: please input

shell 指令碼中關於使用者輸入參…

1、命令列引數 向shell指令碼傳遞資料的最基本方式是使用命令列引數。 (1) 讀取引數    讀取輸入的引數的變數為位置引數,位置引數通過標準數字表示,    其中$0為程式名稱,$1為第一個引數,$2為第二個引數,依次類推,直到$9為第九個引數。    shell指令碼自動將命令列引數賦值給各個位置變

shell指令碼計算輸入引數的的平均值

方法一: #!/bin/bash [ $# -ne 1 ] && exit #判斷引數個數 [ "$1" -le 0 ] && exit #判斷引數合法性 sum=0 for (( i=1;i<=$1;i=i+1 )) do read -p "Inp

[自動化測試]【shell指令碼】blink reset測試

linux系統的blink reset測試,即保證程序crash後能自動復歸的測試。 1. 測試實驗 :1)程序執行;2)kill -9 程序pid 2. 測試結果:出現crash墓碑tombstone檔案(1/10)。   為了方便再現並且修復後的自動化測試,書寫shel

Linux shell指令碼 自動輸入提示資訊或回車進行下一步操作

1.應用場景 有的時候執行安裝或操作第三方軟體時,需要輸入Yes 或者回車 才能進行下一步 例如操作sqlite [[email protected] sh]# sqlite3 anhui.db SQLite version 3.6.20 Enter ".help" fo

shell指令碼中的讀檔案(while read line)與寫檔案(here document)

shell指令碼中如何讀取外部檔案並進行相關操作呢?正規化如下,是要背滴: while read line; do process $line done < file 如何在寫中將內容寫入新檔案呢,要用到here document,一種特殊的重定向技術,小范式如下,也

shell指令碼中字串比較和數字比較和檔案測試

(1) 字串比較: 作用:測試字串是否相等,長度是否為零,字串是否為NULL。 常用的字串比較符號如下。 =:比較兩個字串是否相同,相同則為“是”。 !=:比較兩個字串是否相同,不同則為“是”。 -n:比較字串的長度是否大於0,如果大於0則為“是”。 -z:比較字串的長度是否等於

解決 shell指令碼中SCP命令需要輸入密碼的問題

本文轉自:https://blog.csdn.net/u012454773/article/details/72779439 使用金鑰檔案,兩臺機器建立信任 這裡假設主機A(192.168.100.3)用來獲得主機B(192.168.100.4)的檔案。 在主機A上執行如下命令來生成配對金鑰:

如何在shell指令碼中實現 scp 檔案的時候不手動輸入密碼

在shell指令碼中實現 scp 檔案的時候不手動輸入密碼的指令碼如下: #!/usr/bin/expect -f set password 密碼 spawn scp 使用者名稱@目標機器ip:拷貝檔案的路徑 存放本地檔案的路徑  set timeout 300 

shell指令碼專家指南筆記#4_比較和測試

## # 本文為《shell指令碼專家指南》一書的學習筆記。 ## 4. 比較和測試 通用形式     if [ "$string" = "some_string" ]; then ...     if [ $integer -eq 15 ]; then

Linux "編寫一個shell指令碼,讓使用者輸入某個目錄名/使用者名稱,先判斷輸入名稱是否存在且是個目錄名稱"及其變式

(3)shell指令碼,提示使用者輸入一個使用者名稱,如果存在;顯示使用者UID和SHELL資訊;否則,則顯示無此使用者;顯示完成之後,提示使用者再次輸入;如果是quit則退出 https://www.cnblogs.com/wangyuebo/p/5836

並行壓力測試shell指令碼

記:本文自網上篇章改寫而成。主要目的是為了理解壓測工具執行的原理。 指令碼主要實現的功能有以下幾點。 允許不同的併發度和sql執行次數 rand()實現隨機數選取 重新執行會刪除或清空之前產生的檔案 #!/bin/bash #**************

Linux安裝JDK&Tomcat(shell指令碼)&軟體安裝之JDK&T

1.編寫installJdkTomcat.sh指令碼 #!/bin/bash myDir=`pwd` rpm -qa | gre

Shell指令碼執行超時怎麼辦?

在Shell裡會有一種不太常見的情況,就是指令碼有時候會出現超時的現象。一般來說遇到這種問題,我們都會簡單粗暴的採用下面這種指令碼來當“超時看門狗“: 這個指令碼搭配兩個變數使用的話,監控一點小程式碼還算OK,但是它的邏輯還是比較粗糙,比如如果在這個指令碼執行的時候,又有了一個新的process

總結三種Shell指令碼程式設計中避免SFTP輸入密碼的方法

最近程式設計中用到sftp上傳檔案,且需要用crontab預設定時上傳事件。而sftp不同於ftp,沒有提供選項如 -i 可以將密碼直接編碼程序序。使用sftp指令,會自動請求使用者輸入密碼。 總結一下可以避免sftp輸入密碼的三種方式: 1. lftp方式 LFTP

shell指令碼的那點小事兒--shell指令碼語言輸入輸出與檔案操作(三)

內容一:檔案包含 在shell指令碼中匯入其他shell指令碼 語法1: ./filename 這裡./filename相當於執行了filename指令碼 檔案A->fileA.sh #!/bin/bash echo "我是檔案A" 檔案B->fileB.sh