当前位置:首页 » 网页前端 » shell不用for循环编程脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

shell不用for循环编程脚本

发布时间: 2022-07-23 07:52:55

1. shell无法执行for循环多行命令

默认的情况下,Shell脚本中的命令是串行执行的,必须等到前一条命令执行完后才执行接下来的命令。shell循环中指令正常使用也是串行的,不过可以使用后台并行执行命令的方法实现并行操作;
例如:
(1)、串行实例:
#!/bin/bash
for((
i
=
0;
i
<
${count};
i++
))
do
echo
commands1
done
(2)、并行实例:
#!/bin/bash
for((
i
=
0;
i
<
${count};
i++
))
do
{
echo
commands1
}&
done
实质就是将操作指令作为后台进程在执行,这样主进程就不用等待前面的命令执行完毕之后才开始执行接下来的命令,实现并行的效果;自己领会咯。

2. shell脚本中除了用for循环还可以用什么循环

While 和 Until循环,例如:

while((i<=100))
do
let"sum+=i"
let"i+=2"
done
until[["$i"-gt5]]#大于5
do
let"square=i*i"
echo"$i*$i=$square"
let"i++"
done

3. linux远程登陆的shell脚本for循环无结果

我比较认同“ssh之后是远程主机执行的命令
本地变量不起作用”这种说法
你的脚本之所以$aaa能回显,是因为在本地定义了这个变量,但本地没有定义$i这个变量,所以无法显示变量值,把aaa="u1 u2"一块塞<<ff.......ff这个内联重定向数据中去。再试试看。

4. shell脚本for循环

原因:
1. 因为你所处理的文件换行符是dos格式的”
” ;

2. 可以使用cat -v 文件名 来查看换行符是否是,如果是上述的,则行结尾会是^m?需要转换成linux/unix格式的”\n”;
3. 具体转换办法就是转换换行符 。

可以用sed命令处理一下文件,命令如下:?
1. sed ‘s/\r//’ 原文件 >转换后文件 ;
2. sed 命令的参数中 ”代表决定引用参数,不允许参数中的值让shell解释,s代表替换 /后面跟的是被替换的内容,后面的//代表替换后的内容为空 ;

3. 推荐使用EditPlus或者UltraEdit,使用这些文本编辑工具,在保存时,可以选择保存的文字编码类型,比如选择UNIX格式换行符;
4. 我比较喜欢EditPlus的join lines功能,把多行的值变成一个逻辑行,便于写到shell脚本中作为循环的变量。

5. 用for循环编写删除文件的shell脚本

#!/bin/bash
#2.sh
cd #进入加目录
touch 1 #创建文件1
read -p "请输入要删除的文件 1 :" file
if [ "$file" != "1" ];then
echo "请输入1 不许输入别的。谢谢!"
fi
for i in $file ;do #用for循环把$file代入$i
rm -rf $i #删除$i
echo "$i 被删除了。"
done #结束

6. 编写一个shell程序,实现用for循环输出1到20间的奇数

#!/bin/sh

for ((i=1;i<20;i=i+2));

do

echo $i

done

类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。

命令行式shell(Command Line Interface shell ,即CLI shell)

例如:

bash / sh / ksh / csh / zsh(Unix/linux 系统)



(6)shell不用for循环编程脚本扩展阅读:

传统意义上的shell指的是命令行式的shell,以后如果不特别注明,shell是指命令行式的shell。

文字操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理与操作系统之间的交互:等待输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。

shell提供了与操作系统之间通讯的方式。这种通讯可以以交互方式,或者以shell script方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。

7. Linux shell编程 ---- 循环结构

linux
shell编程
----
循环结构1
for循环
1
for循环是linux
Shell中常用的结构,for循环有三种结构;一种是列表for循环,第二种是不带列表的for循环,第三种是类C风格的for循环。
2
列表for循环
for
variable
in
list
do
statement
done
3
不带列表for循环
for
variable
do
statement
done
4
类C风格的for循环
for
((
expr1;
expr2;
expr3
))
do
statement
done2
while循环
1
while循环的结构
while
expression
do
statement
done
3
until循环
1
在执行while循环的时候只要expression的退出状态为0,将一直执行循环体。until命令和while命令类似,但区别是until循环中的expression的退出状态不为0的时候循环体将会一直执行。
2
until的结构
untile
expression
do
statement
done
4
循环控制符号
1
break语句可以应用在for,while和until循环语句中,用于强行循环,也就是忽略循环体中任何其它语句和循环条件的限制。
2
continue循环控制符应用在for,while和until语句中,用于让脚本跳过后面的语句,执行下一次的循环。

8. shell编程中的for循环如何实现

运行报错吗

add_all_subscriber()
{
file=subscriber.txt
for i in `seq 100`; do
SubscriberId = 0
a = $(($SubscriberId + $i))
add_one_subscriber $a
sed -e 's/Id/$a/' subscriber.txt >> subscriber_update.txt
done

mv subscriber.txt subscriber_update.txt
rm -rf subscriber.txt
mv subscriber_update.txt subscriber.txt
else
echo "completed"
fi

}

改成下面的内容试下

9. 如何编写该shell脚本

#!/bin/sh
sum=0
for i in $*
do
sum=$[sum+i]
done
echo $sum

10. 请教关于shell脚本循环的问题

就是死循环呗:
while :
do
函数
done

这样就可以啊
另外不同的shell支持的for循环的写法可能不尽相同,还可以这么写循环:
#!/bin/sh
str="1 2 3 4 5 6"
for i in $str; do
echo ${i}
done
你可以试一下