windows shell脚本命令中,暂停一段时间用哪个命令?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows shell脚本命令中,暂停一段时间用哪个命令?相关的知识,希望对你有一定的参考价值。
windows shell脚本命令中,暂停一段时间用哪个命令?
用pause不好,我是要自动创建大备份,为避免磁盘读写错误,中间暂停
在Linux中有sleep可用,windows中有吗。
WScript.Sleep 3000
时间单位为毫秒(milliseconds),因此,上面这句就是暂停3秒。
DOS批处理脚本中只能用ping命令来延时(这个时间是很不精确的)。例如:
@ping 127.0.0.1 -n 2 -w 1000 > nul
另外,Windows 2003 Resource Kit 提供了sleep的功能,你可以去微软网站下载安装。参见下面的链接吧。
参考资料:http://malektips.com/xp_dos_0002.html 参考技术A 这种基本的语句应该有,查查去,就算没有应该也可以用别的语句实现
linux的shell编程中如何将一段命令的结果封装成一个变量?
比如我创建一个test.sh文件
文件中有一段是dmesg | grep eth 我如何将这段命令的结果封装成一个变量
变量名自拟
直接赋值给变量就可以了啊,变量可以保存多行字符串内容的。使用变量的时候记得将其放在双引号里就行了。
var=`dmesg | grep eth`echo "$var"
一对反引号(ESC下面的键),表示优先执行其中的命令,执行完成后将结果赋值给var变量。
字符串变量使用的时候加双引号,作为一个整体看待。
参考技术A [root@YYStorage2 ~]# cat test.sh#!/bin/shdmesg|grep $1[root@YYStorage2 ~]# chmod +x test.sh[root@YYStorage2 ~]# ./test.sh eth
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
eth0: no IPv6 routers present
ADDRCONF(NETDEV_UP): eth0: link is not ready
e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
eth0: no IPv6 routers present
e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
eth0: no IPv6 routers present
解释一下吧:在shell中的变量有$?,$1...$9
$1代表第一个变量,$2代表第二个,依次类推,一直到$9
参考技术B至少有两种方式:
命令放在``中 (一般键盘1左边那个键),如
echo `dmesg | grep eth`
命令放在$()中,如
echo $(dmesg | grep eth)
varname=`dmesg | grep eth`
如果返回的是多行,可以保存到数组中
array=($(dmesg | grep eth))
然后用for循环获取数组中各个值
len=$#array[@]
for((i=0; i<$len; i++))
do
oneline=$array[$i]
done 参考技术D var=`ls -l *.* | wc -l`
var=$(ls -l *.* | wc -l)
以上是关于windows shell脚本命令中,暂停一段时间用哪个命令?的主要内容,如果未能解决你的问题,请参考以下文章