1. shell脚本如何实现毫秒级别的计时
有两种方法:
假设目标为 1ms:
方法1. sleep 0.001
方法2. usleep 1000 (usleep是1us,1000就是1ms。)
2. 为什么shell脚本exit后,当前进程没有终止
没有看到你的code,但你的理解没错的,shell 执行exit 会自己退出的。
不成功估计有两个原因:
java 调用shell是否直接跑到后台?有没有设置抓到shell返回值再继续跑?
shell 中exit command没有执行成功,这个细心要debug了。
3. 在linux中 1若脚本在退出时,没有指定退出时的状态,则他的返回值是多少
这么多问题 就这么点分 你是真抠啊 !
脚本退出时如果不设定退出状态值,返回值 不确定,根据不同问题返回不同值,该值不为0, 一般脚本内 都是加返回值 ,来判断返回值的多少来确认问题出现在哪里。
在shell脚本中以 exit 命令的值来指定shell命令的退出状态码。但是退出状态码的范围是 0 ~ 255;exit状态值代表的含义如下:
0命令成功结束
1通用未知错误
2误用shell命令
126命令不可执行
127没找到命令
128无效退出参数
128+xLinux信号x的严重错误
130Linux信号2的严重错误,即命令通过SIGINT(Ctrl+C)终止
255退出状态码越界
3. 由于你的问题表示的不准确,我这里以你使用shell脚本为例,在shell脚本中 $表示变量名称。 你可能问的是这些内容或许
echo'$0获取当前执行的shell脚本的文件名:'$0
echo'$n获取当前执行的shell脚本的第n个参数值,n=1..9:''$1'=$1'$2'=$2"$3=$3"
echo'$*获取当前shell的所有参数"$1$2$3...注意与$#的区别:'$*
echo'$#获取当前shell命令行中参数的总个数:'$#
echo'$$获取当前shell的进程号(PID):'$$
sleep2&
echo'$!执行上一个指令的PID:'$!
echo'$?获取执行的上一个指令的返回值:'$?
echo'$@这个程序的所有参数"$1""$2""$3""...":'$@
echo'$_在此之前执行的命令或脚本的最后一个参数:'$_
4|| 逻辑符号 ,代表 or 逻辑的符号。
&& 逻辑符号 ,代表 and 逻辑的符号。
第五题看不懂, 第六题shell 支持啥没写完啊
友情赠送你个玩具 shell 图形化 工具 whiptail
好了给分吧
4. 求批处理:倒计时关机!
shutdown -s -t 7200
7200 代表秒数
取消用 shutdown -a 命令就可以了
5. shell脚本,1 || exit 1这句怎么执行啊
这个||叫逻辑或运算符 执行的时候先执行语句1,如果语句1执行成功(退出状态为0)就跳过后面的语句。比如你这个例子里的语句1成功就不会执行exit 1,语句1不成功就会执行exit 1。Shell会尽量保证操作符前后的语句有一个执行成功。
与这个类似的还有&&,逻辑与运行算,他会尽量保证操作符前后两个语句都执行成功。
6. shell脚本编写定时器
root用户在/root 目录创建下面脚本test_print.sh
#!/bin/bash
#脚本名:test_print.sh
#作用:测试,给所有在线的终端打印'现在9点了'
ttys=`w|awk'{print$2}'|sed-n'3,$p'`#截取在线终端
foriin$ttys
do
echo'现在9点了'>/dev/$i#echo打印信息
done
执行此行,追加到crond任务
echo"09***sh/root/test_print.sh">>/var/spool/cron/root
7. shell:为什么循环内调用脚本,遇到exit会退出循环
[root@localhost~]#cata.sh
#!/bin/sh
whiletrue
do
echo"loop"
../b.sh
echo"loop100"
done
echo"endloop"
[root@localhost~]#catb.sh
#!/bin/sh-x
echo"b.shisprocess"
exit0
echo"B.SHisprocess"
[root@localhost~]#sha.sh
loop
b.shisprocess
我的结果是正常的。。。
8. 怎样用代码让电脑一开机就倒计时30秒后自动关机
1. 创建bat关机脚本
@echo off
shutdown -s -t 30
exit
把以上代码复制到记事本,然后另存为 自动关机.bat
2. 把保存好的关机脚本加到开机自启动项中
按Windows+R,输入 shell:startup → 回车,将自动关机.bat拖到里面就可以了
3. 取消自动关机
开机后30秒之内,按下Windows+R,输入 shutdown -a,或者运行如下脚本
@echo off
shutdown -a
exit
将以上代码复制到记事本,另存为 取消关机.bat即可
9. shell脚本中如何设置exit值
在子脚本中可以通过如下形式返回成功0或错误码(1~255):
exit [返回值]
其中,返回值的取值范围为0~255,因为UNIX/POSIX中是用一个无符号8比特数值来表示exit返回码的。你若写exit -1,它会给你转为255。
10. 请教Shell脚本中没有exit命令有什么影响
如果中途用exit命令退出,没有exit命令就会继续执行下面的命令
如果exit命令是在最后,有没有都一样