❶ shell脚本if循环问题
在你上个问题中回答过你了,用数组存值
#!/bin/bash
arr=(10 11 30)
sum=0
for a in ${arr[*]}
do
ouput_s[$sum]=$a
sum=$((sum+1))
done
echo "${ouput_s[@]}"
echo "$sum"
❷ 一个简单的shell脚本问题!怎么出现了死循环呢谢谢
这里改一下:
q)
echo "quit"
a=11 或直接用 break
;;
Q)
echo "quit"
a=11 或直接用 break
;;
另外,可以这样写,表示同时匹配两个字母:
qQ) xxx ;;
❸ linux脚本 循环语句
for i in $(seq 500)
do
.....
done
p.s.楼上你忘了自增了
❹ shell脚本while read循环无法执行命令,不用循环却可以执行,这是为什么
whilereadline
do
#处理$line即每行文本
done<file.txt
或者:
catfile.txt|whilereadline
do
#处理$line即每行文本
done
检查下你的代码格式,是不是符合上述两种之一。
❺ 关于linux的shell脚本,无限循环问题
10毫秒起一个java,1秒就起来100个java,
10秒就启动了1000个java
❻ linux kill不能杀死shell脚本死循环
使用ps aux|grep ”脚本名“这种方式查找时,查看grep ”脚本“以外行的PID。
ps -ef 能比较直观显示进程PID、PPID(当前PID的父进程),程序名(最后一列)。
注意:你杀的应该是运行脚本时命令对应的PID,不是脚本里启动的额外程序的PID,否则可能产生僵死进程。
❼ 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
实质就是将操作指令作为后台进程在执行,这样主进程就不用等待前面的命令执行完毕之后才开始执行接下来的命令,实现并行的效果;自己领会咯。
❽ shell 脚本在调试时,FOR循环代码出现错误。怎么办
原因:
因为你所处理的文件换行符是dos格式的” ” ;
可以使用cat -v 文件名 来查看换行符是否是,如果是上述的,则行结尾会是^m需要转换成linux/unix格式的” ”;
具体转换办法就是转换换行符 。
❾ linux shell脚本的循环
for i in $(cat test)
可以试试看, for之前可以指定分隔符号.
另外一般用 while read 读取文件
还有其实上面两种都不好, 现在主流的做法还是awk和sed处理文件, 功能强 安全
这样可以么?
❿ 关于linux shell脚本中for循环的问题
你的变量指定的有问题。你可以这么写:
#!/bin/bash
for i in $( seq 1 100 )
do
echo $i
done