linuxdonedone
㈠ linux下,shell腳本中,最後一句done exit 0,系統永遠提示done not found怎麼回事,程序如下
你#!/bin/sh 換成#!/bin/bash 測一下呢
因為你中間涉及到了調用別的腳本,我沒法直接復制你腳本看報錯。
從語法上目前我只看到你的if 語句寫的有問題,
比如
["$i" -le 225 ]; #缺少空格
[ "$i" -le 225 ];then
下邊的elif 也是
㈡ Linux下查看某程序aaa服務的啟動狀態時,可以使用的命令
方法如下:
linux下查看某個進程的啟動命令的方法:
在Linux下,如果需要查看進程的啟動時間,常用ps aux命令,但是ps aux命令的缺陷在於只能顯示時間到年、日期、或者時間,無法具體到年月日時分秒。如果需要查看某個進程的具體啟動時間,使用ps -p PID -o Istart,其中,PID為某個進程的進程ID號。
如下所示,顯示系統中所有httpd進程的具體啟動時間。for pid in $(pgrep httpd); do echo -n "${pid} " ; ps -p ${pid} -olstart I grep -v "START" ; done。
301 Mon Aug 2711:21:59 2012。344 Mon Aug 2711:33:13 2012。25065 Sun Aug 26 03:27:03 2012。25066 Sun Aug 26 03:27:03 2012。25067 Sun Aug 26 03:27:03 2012。25068 Sun Aug 26 03:27:03 2012。25069 Sun Aug 2603:27:03 2012。25070 Sun Aug 26 03:27:03 2012。25071 Sun Aug 26 03:27:03 2012。25072 Sun Aug 26 03:27:03 2012。27903 Wed Jun 20 22:50:47 2012。32767 Mon Aug 27 11:21:48 2012。
㈢ linux下如何讓腳本裡面的幾條命令重復執行
如何重復執行?
使用循環語句可以控制循環次數
當然你可以把那幾條命令打包成一個函數
可以反復執行
也可以循環控制重復執行shell腳本
當然也可以定時執行
㈣ done < namefile在Linux里是什麼意思呀
done是前面do的結束語句
< namefile是從namefile讀取內容
㈤ 在linux中 「# for i in `ls` ; do su -sh $i ; done 」命令是什麼意思
首先 在命令前面有個 '#'的意思是本句話是注釋,並不實際執行...
再說你後面語句的意思,for ... in .... ; done是循環結構,ls是查看目錄下的文件,su是以另一個身份($i),來運行一個shell,但問題是su 沒有-sh選項,也就是說你這句話應該有問題才對.
整體分析是遍歷將當前目錄下的文件,每個文件執行su -sh XXX(這里XXX是當前目錄下的所有文件),功能尚不明確,還請樓主明示.
㈥ linux的shell腳本對比a文件中的每一行內容是不是在b文件中也有這么一行內容
1.不考慮效率的話,可以嘗試,每讀取一行a ,遍歷b的每一行查看是否匹配.(shell大致如下,沒有自己去運行,或許需要調試)
cata.txt|whilereadlinea
do
catb.txt|whilereadlineb
do
行簡if["$linea"="$lineb"];then
echo"$linea"
晌帶虛fi
done
done
2.如果不存在b的一行會包含a的一行.還可以嘗試遍歷a的每一行,然後在b中查找.具宴燃體的需要根據文本特點.來分析.
㈦ linux中while/do/done用法,
#!/bin/bash
echo "Enter password:"
read TRY
COUNTER=1
while [ "$COUNTER" -lt 5 -a "$TRY" != "secret" ]; do
echo "Here we go again"
COUNTER=$(($COUNTER+1))
read TRY
done
[ "$TRY" != "secret" ] && echo "error!"
㈧ linux 簡單的問題 while do done
while應該不關心讀取次數吧,它不是按兄喚困次數循環羨念的,而是看文件是不是到了結尾,如果你想知道讀取次數可以在循環里計算出來,文件有幾行應該就讀取了多少次,至於為什麼\t被鏈運吃掉了,我認為是echo的時候把它當成製表符了
㈨ Linux文件名替換
1.用for靈活,文件名中字元替換,加日期等都可
先用下面語句測試一下
for
i
in
*aa*
;do
nn=$(echo
$i
|
sed
's/aa/bb/')
;echo
"$nn";done
保險起見,只拷貝
for
i
in
*aa*
;do
nn=$(echo
$i
|
sed
's/aa/bb/')
;cp
"$i"
"$nn";done
這是更名,慎用
for
i
in
*aa*
;do
nn=$(echo
$i
|
sed
's/aa/bb/')
;mv
"$i"
"$nn";done
2.用rename簡潔
先用-n開關測試
rename
-n
's/aa/bb/'
*
測試無誤去掉-n進行更名
rename
's/aa/bb/'
*
㈩ linux 下 後台jobs 沒有done 但 exit 1,是不是成功的意思 用 & 後綴執行一段時間後,來查看 顯示 exit 1
exit 1是不成功