1.求写一个bash脚本脚本如下 。
#!/bin/bash
# default
ip=192.168.168.168
count=3
if [ $# -eq 2 ]; then
[[ $1 =~ ^([0-9]+\.){3}[0-9]+$ ]] && ip=$1
[[ $2 =~ ^[0-9]+$ ]] && count=$2
elif [ $# -eq 1 ]; then
if [[ $1 =~ ^([0-9]+\.){3}[0-9]+$ ]]; then
ip=$1
elif [[ $1 =~ ^[0-9]+$ ]]; then
count=$1
fi
【bash脚本怎么写】fi
ping -n $count $ip >>$(date +%Y-%m-%d-%H-%M-%S).log
[ $? -ne 0 ] &&; 这里写restart pppd的代码
exit 0
说明:
1)运行脚本时可以带两个参数,第一个指示ip,第二个指示ping的次数;若输入不符合格式要求,使用默认值 。
2)若只提供了一个参数,脚本自动根据格式判断是ip还是ping的次数;另一个使用默认值 。
3)若提供的参数个数超过两个,只取前两个,格式判断参见1) 。
4)若没有提供参数,都使用默认值 。
5)因为没用过pppd,所以重启pppd的代码由你自行补上 。
2.如何编写一个shell脚本如何编写一个shell脚本 本文结合大量实例阐述如何编写一个shell脚本 。
为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具 。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言 。
您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务 。下面,让我们一起来看看shell是如何工作的: 建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用 。
所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在bash的大姐,bourne shell中运行) 。如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit、kedit、emacs、vi 等来编写我们的shell程序 。
程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序 。在这个例子中我们使用/bin/sh来执行程序 。
当编辑好脚本时,如果要执行该脚本,还必须使其可执行 。要使脚本可执行: chmod +x filename 然后,您可以通过输入: ./filename 来执行您的脚本 。
注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束 。我们真诚地建议您在程序中使用注释 。
如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理 。变量 在其他编程语言中您必须使用变量 。
在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明 。要赋值给一个变量,您可以这样写: 变量名=值 取出变量值可以加一个美元符号($)在变量前面: #!/bin/sh #对变量赋值: a="hello world" # 现在打印变量a的内容: echo "A is:" echo $a 在您的编辑器中输入以上内容,然后将其保存为一个文件first 。
之后执行chmod +x first 使其可执行,最后输入./first执行该脚本 。这个脚本将会输出: A is: hello world 有时候变量名很容易与其他文字混淆,比如: num=2 echo "this is the $numnd" 这并不会打印出"this is the 2nd",而仅仅打印"this is the ",因为shell会去搜索变量numnd的值,但是这个变量时没有值的 。
可以使用花括号来告诉shell我们要打印的是num变量: num=2 echo "this is the ${num}nd" 这将打印: this is the 2nd 有许多变量是系统自动设定的,这将在后面使用这些变量时进行讨论 。如果您需要处理数学表达式,那么您需要使用诸如expr等程序(见下面) 。
- 三年级语文日记怎么写
- 毕业研究路线怎么写
- 阅读评价表怎么写
- 求职个人简介怎么写
- 1到12的数字英语怎么写
- 1398用英语怎么写
- hibernate实体类怎么写
- 议论文评论怎么写
- 河南话kuo字怎么写
- 本笔画顺序怎么写的