当前位置:首页 » 网页前端 » linux如何写循环执行脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

linux如何写循环执行脚本

发布时间: 2022-10-04 04:39:19

❶ linux怎么添加一个开机无限循环的sh脚本

这是非常简单实现的事情,把你的脚本写成一个shell文件,例如:auto.sh,在目录/root/下.
在rc.local这样写
/root/auto.sh &

必须加后面的 & ,意思是后台执行,继续执行后面的语句.......

❷ 如何在linux命令行中循环执行命令

1、for FILE in $(ls); do [COMMAND]; done
2、for a in {1..100}; do echo $RANDOM; done
3、for (( c=1; c<=5; c++ )); do echo $RANDOM; done
4、for ((c=1; c<21; c+=2)); do echo "Welcome $c times" ; done
5、for line in $(cat user.txt); do getent shadow $line; done
6、for FILE in $(cat file); do tar zcf $FILE.tar.gz $FILE;rm -rf $FILE; done
7、# awk计算所有行所有区域的总和
awk '{for (i=1; i<=NF; i++) s=s+$i}; END{print s}'

❸ linux的for循环的写法

Linux下使用while…;do done语句来写循环语句,其实也非常简单,比如说,我们要写一个循环5次的命令。

可以这样来写:

I=1
While [$I<=5];do
语句…
Done
I=$(($I+1))

其中,I=$(($I+1))说明我们这个循环每次递增的数为1,也就是在I的基础上加1,这样就形成了循环了。

====================================
脚本1:
#!/bin/sh
for loop in 1 2 3 4 5
do
echo $loop
done

脚本2:
#!/bin/sh
for loop in "orange red blue grey"
do
echo $loop
done

有了""就是字符串,只循环一次
第二个循环的循环变量会依次为orange red blue grey中的每一个。

❹ 如何在linux命令行中循环执行命令

1、编写一个shell脚本,在脚本中编写循环执行的代码(可以是死循环),然后在linux上运行这个脚本即可。
2、可以把这个脚本在当前运行,也可以让这个脚本在后台运行。
3、当前运行的脚本如果要kill掉的话,可以直接ctrl+c;后台运行的脚本要kill掉的话,可以PS查看进程ID号,然后执行“kill 进程ID”命令即可。

❺ Linux取出100个文件怎么写脚本依次执行


每条命令后如果不加&的话就是依次一行一行的顺序执行,只有前面一行执行完成后再执行下一行,如果希望多个命令在一个shell内执行可在一行写入多条命令,

❻ linux 脚本循环

>moosewoler,你好,我的问题其实主要集中在这里:
>linux中的参数是相当于C语言中的宏还是变量呢.
shell脚本的变量会根据使用情况自动变化,有的时候行为像宏,有的时候像变量

>如果是宏的话就会完全匹配.例如: 我想用到一堆变量: >iData21,iData22,iData23....iData99
>这个时候我定义 iDataX 然后让 X =21~99 循环,这样可以吗?如果是C语言是不可以的,因为21~99并非完整的一个变量,而是变量的一部分.
是可以这样做的,将两个变量联合起来用就可以了,然后exec出去。
给你个链接《bash新手指南》,很短,很容易入门
http://www.bsdmap.com/manuals/bash_guide/index.html

使用说明:
脚本枚举目录中所有文件,并调用LtoT.exe来处理之。
文件名严格以X_nnnn.DAT命名
其中
X取值为 “C”或者“Y”
nnnn取值为 4位数字
“_”和“.”作为awk使用的分割符一定要存在,否则会出错。

可能存在的问题:
因为LtoT.exe和sdram422bmp.exe也被放在了当前目录下,所以这两个文件也会被脚本处理,也就是说会出现如下两个命令行
./LtoT.exe LtoT.exe LtoT_tile.exe 16 2048 LtoT.exe
./LtoT.exe sdram422bmp.exe sdram422bmp_tile.exe 16 2048 sdram422bmp.exe
不过因为第2个循环的条件检验够强,所以不会影响到第2个循环的输出。

脚本全文如下:
#! /bin/sh

BIN1="./LtoT.exe"
BIN2="./sdram422bmp.exe"

#枚举当前目录下的文件名,并生成参数列表
for FILENAME in `ls` ;do
if [ "$FILENAME" != "a" ]; then
flag=`echo $FILENAME | grep tile`
flag=`echo $?`
if [ "$flag" != "0" ]; then
tmpARG1=`echo $FILENAME`
tmpARG2=`echo $FILENAME | awk 'BEGIN { FS="."} {print $1 "_tile." $2}'`
tmpARG3="16"
tmpARG4="2048"
tmpARG5=`echo $FILENAME | awk 'BEGIN { FS="_"} {print $1}'`
#执行之
`$BIN $tmpARG1 $tmpARG2 $tmpARG3 $tmpARG4 $tmpARG5`
fi
fi
done

for FILENAME in `ls | grep "^Y.*tile"` ;do
tmpARG1="2048"
tmpARG2="16"
tmpARG3="16"
tmpARG4=$FILENAME
tmpARG5=`echo $FILENAME | sed 's/^Y/C/'`
tmpARG6=`echo $FILENAME | awk 'BEGIN { FS="_" } {print "result_"$2".bmp"}'`

`$BIN $tmpARG1 $tmpARG2 $tmpARG3 $tmpARG4 $tmpARG5 $tmpARG6`
done

模拟显示结果(我只是ECHO出来,_tile文件提前建立好了,你可以不必):
moose@iMove:~/tmp$ ls -l
total 4
-rwxr--r-- 1 moose moose 978 02-19 20:19 a
-rw-r--r-- 1 moose moose 0 02-19 19:40 C_0026.DAT
-rw-r--r-- 1 moose moose 0 02-19 20:00 C_0026_tile.DAT
-rw-r--r-- 1 moose moose 0 02-19 19:40 Y_0039.DAT
-rw-r--r-- 1 moose moose 0 02-19 20:00 Y_0039_tile.DAT
moose@iMove:~/tmp$ ./a
./LtoT.exe C_0026.DAT C_0026_tile.DAT 16 2048 C
./LtoT.exe Y_0039.DAT Y_0039_tile.DAT 16 2048 Y
./sdram422bmp.exe 2048 16 16 Y_0039_tile.DAT C_0039_tile.DAT result_0039.bmp

❼ linux下如何让脚本里面的几条命令重复执行

如何重复执行?
使用循环语句可以控制循环次数
当然你可以把那几条命令打包成一个函数
可以反复执行

也可以循环控制重复执行shell脚本

当然也可以定时执行

❽ linux脚本 循环语句

for i in $(seq 500)
do
.....
done

p.s.楼上你忘了自增了

❾ linux脚本,循环检测程序,按照条件执行

#!/bin/bash

while :
do
ps aux |grep -v firefox >/dev/null
if [ $? -eq 0 ];then
firefox &
elif [ $? -ge 2 ];then
killall firefox
fi
sleep 300
done

❿ linux如何写个可执行文件的循环执行脚本

脚本如下:

#!/bin/bash
for((i=2;i<=18;i++))
do
sed-i's/srfn=ny-89-.*-sr/srfn=ny-89-0'"$i"'-sr/g'sps
sed-i's/sfn=00.*prn/sfn=00'"$i"'.prn/g'sps
aas
done