❶ 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