#!/bin/bash
#user inputs his first name and last name. program shows his full name.
# history:
path=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export path
read -p "please input your first name: " firstname # 提示使用者輸入
read -p "please input your last name: " lastname # 提示使用者輸入
echo -e "\nyour full name is: $firstname $lastname" # 結果由螢幕輸出
執行指令碼:
[root@sor_sys test]# sh read-p.sh
please input your first name: zhu
please input your last name:
ying
your full name is:
zhu ying
[root@sor_sys test]#
下面我們來看看read的用法:
[root@sor_sys ~]# read [-pt] variable
選項與引數:-p :後面可以接提示字元!
-t :後面可以接等待的『秒數!』這個比較有趣~不會一直等待使用者啦!
範例一:讓使用者由鍵盤輸入一內容,將該內容變成名為 atest 的變數
[root@sor_sys ~]#read atest
this is a test<==此時游標會等待你輸入!請輸入左側文字看看
[root@www ~]# echo$atest
this is a test <==你剛剛輸入的資料已經變成乙個變數內容!
範例二:提示使用者30 秒內輸入自己的大名,將該輸入字串作為名為 named 的變數內容
[root@www ~]# read-p"please keyin your name: "-t 30named
please keyin your name: zhuying<==注意看,會有提示字元喔!
[root@www ~]# echo $named
zhuying <==輸入的資料又變成乙個變數的內容了!read 之後不加任何引數,直接加上變數名稱,那麼底下就會主動出現乙個空白行等待你的輸入(如範例一)。 如果加上 -t 後面接秒數,例如上面的範例二,那麼 30 秒之內沒有任何動作時, 該命令就會自動略過了~如果是加上 -p ,嘿嘿!在輸入的游標前就會有比較多可以用的提示字元給我們參考!**********》
例子:以下只是我在其他指令碼中擷取的一部分,為了方便大家更好的理解read的用法~
done }
ps:當子程式完成後,在子程式內的各項變數或動作將會結束而不會傳回到父程式中』
[root@www scripts]# echo $firstname $lastname
[root@sor_sys test]# sh read-p.sh
<==確認了,這兩個變數並不存在喔!
please input your first name: zhuplease input your last name:ying
<==看吧!在 script 執行中,這兩個變數有生效
[root@www scripts]# echo $firstname $lastname
<==事實上,這兩個變數在父程式的 bash 中還是不存在的!如果將程式相關性繪製成圖的話,我們以下圖來說明。當你使用直接執行的方法來處理時,系統會給予一支新的 bash 讓我們來執行 read-p.sh裡面的命令,。 當 read-p.sh執行完畢後,子程式 bash 內的所有資料便被移除,因此上表的練習中,在父程式底下 echo $firstname 時, 就看不到任何東西了!這樣可以理解嗎?sh read-p.sh
Hack World簡單指令碼學習
import requests import time import re url flag for i in range 1,43 flag的字元數為43位 max 127 所有字元總數為127 min 0 for c in range 0,127 s int max min 2 二分法找出正確字...
簡單指令碼for迴圈和while迴圈
bin bash for i 1 i 254 i 遍歷整個網段 doip 20.0.0.i ping c3 i0.2 w3 ip dev null 傳送三個資料報,間隔為0.2s,等待時間3s if eq 0 then 判斷上一條命令是否執行成功 echo echo ip up.txt 將ping通...
Linux下收集日誌的簡單指令碼
root localhost cat test.sh bin sh shihaiyan set x varible out path usagse usagse if 1 1 then usagse fiout path tmp yan if d then echo is already read ...