bash腳本for循環
發布時間: 2024-12-12 04:43:11
⑴ 使用bash腳本,使用for循環和arg參數編寫一個實現將命令行的多個參數逆序輸出的程序
腳本自己寫了一個,可能不完全符合條件2要求(cmd變數沒用上),但是逆序列印詞串大概沒問題,你自己試下:
#!/bin/bash
count=$#
for arg in $*
do
echo -n "${count} "
let "count=count-1"
done
第一個問題的答案:vi,或者你寫vim也對,一般vi是vim的鏈接,運行命令行下的vi編輯器。
第二個問題沒看明白要cmd這個變數啥用,可能是我愚鈍,我不知道怎樣重定向一個字元串追加到一個變數的末尾,想了個變通的方法。
第三個問題的答案:chmod 0750 /<到腳本位置的絕對路徑>/<腳本文件名>
第四個問題的答案:你把這串字元按照空格隔開為一個單元的規律倒序寫即可,就是這樣ddff gdd ddd ac ab aa
⑵ Bash中的4種循環語句是
for循環兩種:
for (( 循環變數初始值; 循環變數限制值; 執行步長))
do
程序段
done
for 循環變數 in 集合
do
程序段
done
while循環:
while 判斷條件
do
程序段
done
until循環:
until 判斷條件
do
程序段
done
⑶ bash腳本for循環報錯
1)把你的腳本修改如下:
$catx.sh
#!/bin/bash
foriin{1..4};
do
read-p"pleaseinputuseraccount:"username
stty-echo
read-p"pleaseinputpassword:"password
sttyecho
echo-e\n
if["$username"=="summit"]&&["$password"=="hisummit"];then
echo"correctuser,correctpassword,welcome!"
break
else
echo"wronguser,or/andwrongpassword,pleasetryagain."
fi
done
if[$i-eq4];then
exececho"wronguser/password,bye-bye"
fi
echo"WelcometousethisLinuxmachine"
echo"......"
......腳本中後面的命令可以繼續運行
2)執行腳本,輸入正確的用戶名和密碼:
$x.sh(或者執行./x.sh)
pleaseinputuseraccount:summit
pleaseinputpassword:
correctuser,correctpassword,welcome!
WelcometousethisLinuxmachine
......
......腳本中後面的命令可以繼續運行
腳本中for循環後面的命令可以繼續運行。
3)執行腳本,連續4次輸入錯誤的用戶名和密碼(要麼都錯,要麼用戶名和密碼其中錯一個):
$x.sh(或者執行./x.sh)
pleaseinputuseraccount:abcd
pleaseinputpassword:
wronguser,or/andwrongpassword,pleasetryagain.
pleaseinputuseraccount:summiitt
pleaseinputpassword:
wronguser,or/andwrongpassword,pleasetryagain.
pleaseinputuseraccount:peter
pleaseinputpassword:
wronguser,or/andwrongpassword,pleasetryagain.
pleaseinputuseraccount:summitt
pleaseinputpassword:
wronguser,or/andwrongpassword,pleasetryagain.
wronguser/password,bye-bye(這里就bye-bye了,for循環後面的命令不能執行了)
列印出wrong user/password, bye-bye之後,腳本結束了,for循環後面的命令不能執行了。
供參考,謝謝!
熱點內容