当前位置:首页 » 编程软件 » linux脚本while循环

linux脚本while循环

发布时间: 2022-06-11 05:13:28

A. 在linux shell script里。 while 循环。鸟哥的例子 while [ "y

"yn"既不与小写的"yes"相等,也不与大写的"YES"相等,当然成立了

B. linux shell脚本:while循环中调用另一个脚本遇到exit为什么会跳出循环,且继续执行循环后的程序

exit是在被调用的脚本里面,肯定会退出被调用的脚本了。如果不想继续执行while循环后面的程序可以在do后面的条件上加上break

C. linux 用while循环 做脚本 显示 ‘’hi‘’ 5次. 求

#!/bin/bash

num=0
while[$num-lt5]
do
echohi
letnum++
done

D. 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

E. linux shell脚本while编程的问题

这个在句法上有问题,在“[]”要与判断条件之间要有空格。
另外,就是你这个循环语句是一个死循环,最好是加一个判断语句,好跳出循环。

F. 菜鸟问一个linux shell 程序中的while循环

for
i
in
`cat
$dictlst`;do
#循环取出字典内容
{
grep
$LINE
a.txt
>>a2.txt
}
&
done
1L的是机器发的,自动匹配过来的,所以问的跟答的根本对不上

G. linux中shell编程,在while循环体中sqlplus如何在屏幕输出字符串与变量

在sqlplus中输出字符内容用以下方法
dbms_output.put_line('已删除5000条')
但是为了在屏幕上看到字符,还需要
set serverout on
比较麻烦,建议你还是用shell实现好,直接echo就好了。

H. linux shell 中while循环问题

你再检查一下别的地方,我这边运行你的脚本,一切正常啊。


你要怎样的死循环啊?

这个脚本只有输入错误才会一直一直让你输入,当你输入了

y,yes,n,no,函数就return了呀

y|yes)return0;;
n|no)return1;;
*)echo"Answeryesorno"

看到没,这里有return的。

I. 求解答关于linux中shell的while脚本用法

#!/bin/sh
num=1
while [ $num -le 10 ]
do
SUM =' expr $num \* $num ' #SUM等号之间不能有空格 ,等号后面语句单引号换成反引号
echo $SUM
num =" expr $num +1 " #这一行双引号换反引号 ,1与+号之间有空格。
done
shell的语法检查是比较严格的,尤其是空格以后多注意

J. Linux shell 条件语句while 条件的 写法

#可以使用正则表达式。
#写个简单脚本测试一下:
#!/bin/sh
CenterNumber=123
while[$CenterNumber=[:digit:*]]
do
echo"a"
sleep1
done

#执行结果如下:


希望可以帮助到你!

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:336
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:378
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:612
java用什么软件写 发布:2025-05-18 03:56:19 浏览:32
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:107
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:944
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:741
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:803
网卡访问 发布:2025-05-18 03:35:04 浏览:511
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:372