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是不成功