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循环后面的命令不能执行了。
供参考,谢谢!
热点内容