當前位置:首頁 » 編程軟體 » 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