shell腳本循環執行
㈠ shell腳本怎麼寫for循環
for
I
in
list;
do
statement
done
I
是變數
list是一個表格
如你可以使用一串用括弧括起來的數,
也可以使用
命令替換
`seq
1
15`
這個命令忘記了,,
有可能是
`seq
15`
[1..15]
表示1-15的數,,
statement
即要執行的語句
for
I
in
[1..10];
do
echo
$I
done
這段for循環的含義就是顯示從1~10的所有數字
㈡ 關於linux的shell腳本,無限循環問題
10毫秒起一個java,1秒就起來100個java,
10秒就啟動了1000個java
㈢ 在SHELL腳本中,如何設置讓某個命令執行5次
ls
ls
ls
ls
ls
或者循環5次
for i in `seq 5`;do
ls
done
㈣ shell腳本如何實現把IP組里的ip逐個輸出,並循環完成指定任務
#!/bin/bash
host=192.168.1.1,192.168.1.2,192.168.1.3
array=(`echo $host|tr ',' ' '`)
for ip in ${array[@]};do
scp XXX root@$ip:~
ssh root@$ip << ressh
執行命令
exit
ressh
done
㈤ shell腳本裡面提交的任務很多,我想能否加一個循環,一個一個執行,或者隔幾分鍾再提交下一個
循環里加個sleep
或者加個if判斷 提交幾次後 sleep 一會
㈥ Shell腳本 根據文件夾下所有文件進行循環
這個任務 可以通過 find ./ 簡單的解決,不需要遞歸循環啊。
㈦ Shell循環中的指令是並行執行的還是串列執行的比如在循環體中的指令
默認的情況下,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寫一個腳本按日期循環執行某一條命令怎麼寫
[ $? -eq 0 ] && echo '成功' || echo '失敗'
[root@centos~]# ls
anaconda-ks.cfg install.log install.log.syslog rpmbuild
[root@centos~]# [ $? -eq 0 ] && echo '成功' || echo '失敗'
成功
[root@centos~]# lsss
-bash: lsss: command not found
[root@centos~]# [ $? -eq 0 ] && echo '成功' || echo '失敗'
失敗
[root@centos~]#
㈨ 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腳本中作為循環的變數。