當前位置:首頁 » 編程軟體 » linuxshell腳本輸入

linuxshell腳本輸入

發布時間: 2023-05-09 14:38:46

⑴ 在linux shell腳本中,如何實現輸入yes執行一段指令,輸入no則執行另外一段指令

您好!可以利用Shell函數實現

#!/bin/bash
action1()
{
#指令
}
action2()
{
#另外一個指令
}
read-p"請輸入您的選擇:"choose
if[$choose="yes"]
then
action1
fi
if[$choose="no"]
then
action2
fi

⑵ linux shell腳本,運行時要輸入密碼,密碼正確才往下跑,這個怎麼實現呢

A=123456
read-p"請輸入密碼:"PASSWD
if["$PASSWD"=="$A"];then
continue
else
echo"密碼不錯誤,請重啟輸入!"
fi

⑶ linux如何在終端里輸入shell腳本

  • 一般以#!/bin/sh開頭(不是必須要寫,但一定要單獨一行),指定執行這個腳本的shell程序(也可以用#!/bin/zsh或其他),然後就是堆命令了。

  • Linux的shell腳本支持很多功能,加上Linux高度模塊化的命令,完全可以用shell腳本寫出復雜的程序。

  • 以上只是簡單介紹如何開始寫shell腳本,如果要寫復雜的腳本,還需要深入學習相關知識(如if——fi、case——esac等結構)。

  • 當然,還需要給腳本加上可執行許可權(chmod +x ./file.sh),否則可以用sh ./file.sh方式執行腳本(這里的sh是執行腳本所需shell,命令也可以是zsh ./file.sh或其他)。

  • 整個shell腳本,其實就相當於你在終端輸入的一系列命令,如果想在shell里做什麼,就先想想在終端可以做什麼吧,字元的的連接,就是直接用 "" 雙引號,輸出,變數定義無 $ 符號,但是使用時一定要加上 $ 符號。

  • "=" 賦值符號,兩邊一定不能有空格,這和其他語言有區別,尤其是你還有自己代碼美觀風格時特別注意,否則會報語法錯誤!

  • for 中的數組內容是以 " " 空格分隔,而非 "," 逗號分格。

  • 條件判斷 [ true ] 中括弧 後面需要有一個空格,但是兩個中括弧之間不能有空格如 [[ true ]]。

  • while 條件判斷可以用 () 括弧,也可以用 [[ ]] 中括弧。

  • 如果用windows寫shell,一定要注意換行符格式 而非 , 需要藉助一些編輯器(如notepad++)更改換行符格式!

⑷ Linux_Shell腳本編程之read讀取控制台輸入

read(選項)(參數)
選項:
-p:指定讀取值時的提示符
-t:指定讀取值時等待的時間(秒),如果沒有在指定的時間內輸入,就不再等待了。。。
參數:
變數:指定讀取值的變數名

1、案例一:讀取控制台輸入一個NUM1值

2、案例二:讀取控制台輸入一個NUM2值,在10秒內輸入。

⑸ 如何在linux下shell編寫腳本中模擬鍵盤輸入

用 yes 命令
如 yes 123 可以不停的輸出 123,你可以用 yes 123 | head -3 輸出三次。
然後你要是要對某個程序做輸入,你用輸入重定向。
如果你說的是應答,那就用 expect,具體的用法就復雜了,自己搜教程系統地學習吧。

⑹ Linux shell 腳本 間接獲取輸入參數的方法

如果是bash,可以用indirect expansion來搞,語法為 ${!var}。
比如
foo=bar
bar=123
echo ${!foo}
會列印 123

再比如下面的腳本,依次列印腳本的各個輸入參數。

#!/bin/bash
var=1
while [ $var -le $# ]
do
echo "Param $var is ${!var}"
let var++
done

不用indirect expansion,也可以用 eval, 比如

#!/bin/bash
var=1
while [ $var -le $# ]
do
eval echo "Param $var is \$$var"
let var++
done

⑺ Linux寫一個shell腳本,要實現在鍵盤輸入一個進程號,輸出這個進程號的子進程pid,怎麼寫

這個只能找出子進程:
read-p"碼如請輸入一個進程號:"value
wym=`ps-ef|sed-e's/[ ][ ]*/|/g'|cut-d"|"-f"2-4"|grep"|${value}|"|cut遲碼啟-d"|"-f"1"`
echo"它的子進程:"
echo"$wym"
這個可以找出所有的後代進程:通過遞歸調用本身函數。
read-p"輸入模渣一個進程號:"p
functionmj(){
pid=`ps-ef|sed's/*/|/g'|cut-d"|"-f2-3|grep"|$1$"`
forppidin$pid;do
num=`echo"$ppid"|sed"s/|$1//g"`
echo"$num"
mj$num
done
}
mj$p

熱點內容
腳本找書 發布:2024-05-03 12:02:17 瀏覽:493
境外伺服器租用怎麼辦 發布:2024-05-03 11:45:34 瀏覽:943
我的世界伺服器怎麼設置到重生點 發布:2024-05-03 11:33:04 瀏覽:752
mysqllinux安裝包下載 發布:2024-05-03 11:32:07 瀏覽:934
以太演算法的幣 發布:2024-05-03 11:30:45 瀏覽:383
編譯nfs 發布:2024-05-03 11:30:40 瀏覽:432
srs搭建直播伺服器 發布:2024-05-03 11:29:53 瀏覽:133
南通哪裡有賣密碼鎖的 發布:2024-05-03 11:22:01 瀏覽:522
除法指演算法 發布:2024-05-03 11:21:23 瀏覽:844
h265壓縮 發布:2024-05-03 11:20:27 瀏覽:490