day12 bash中的if、for
bash
变量bash
定义:x=
作用:记录状态
规则:字母开头,后面可以接字母、数字、下划线
export args:将变量定义为全局变量
$$[]:括号中可以进行简单的数学整数运算,可以用echo打印出输出的结果
(()):两个括号中可以进行逻辑运算
$?:查看上次命令执行结果,非零表示失败
==:判断
!=:不等于
&&:逻辑与
||:逻辑或
((x+=))/x=$[$x+]:x+1的运算
expr + :有空格,像当与1+
echo 'scale=2;1/3'|bc -l:取1/3的两位小数
echo 'scale=2;1/3'|bc -l|cut -d'.' -f2:取两位小数,用.将它分割,取第二部分
test向当与[ ]有空格:
中间加 -a and
-o or
= 测试左右字符串是否为空
!= 不等于
-eq 判断整数是否相等
-ne 不相等
-b 后面加文件名,判断文件是否存在且为块设备
-d 后面加文件名,判断文件是否为文件
-e 后面加文件名,判断文件是否为存在
-f 后面加文件名,判断文件是否为存在且为普通文件
-h 后面加文件名,判断文件是否为链接文件 前面加 -n 不为空即正确
-z 长度为零即为空
if判断
#!/bin/bash
read -d 'username: ' user
read -d 'paddword: ' password if [ $user = 'alex' -a $password = 'alex' ];then
echo 'login successful'
fi
while循环
#!/bin/bash oldboy_age= while : # :表示真
do
read -p 'age: ' age if [ -z $age ]
then
echo 'None!!'
continue
fi if [ $age -eq $oldboy_age ]
then
echo 'Done'
break
elif [ $age -lt $oldboy_age ]
then
echo 'Too young'
elif [ $age -gt $oldboy_age ]
then
echo 'Too old'
else
echo 'Wrong!!'
fi
done
for循环
for 循环形式
#!/bin/bash for i in {..}
do
echo $i
done =========================================================
ping -c1 192.168.. ping 一次
ping -c1 192.168.. &> /dev/null 不在终端显示
tail -f /tmp/.. 动态查看地址 for i in $(ls)
do
# 依次打印出目录
done
======================================================== bash for 循环形式
#!/bin/bash for ((i=;i<=;i++))
do
echo $i
done
=======================================================
打印格式
echo -n '' 不换行
检测IP
ping IP
#!/bin/bash ip_head='192.168.16.' # 设置ip前面三位 for ((i=;i<=;i++)) # 循环20次,因为有点慢,所以循环少点
do # 循环开头标志
echo "$ip_head$i" # 将ip前面三位和i拼接起来
ping -c1 "$ip_head$i" &> /dev/null # ping IP,将打印结果丢弃
if [ $? -ne ] # 查看上面ping的结果,是否成功
then # if判断开头的标志
echo 'sucessful' # 如果ping不通,则打印成功,表示可用
fi # if判断的结尾标志
done
99乘法表
#!/bin/bash for((i=;i<=;i++)) # 外循环9次
do
for((j=;j<=i;j++)) # 内循环为1-9次
do
echo -n "$j*$i=$[j*i] " # 列式子,-n表示不回车,后面用空格分割
done
echo
done
模拟终端控制
#!/bin/bash while : # :表示真
do
read -p '>>' cmd # 获取一个输入
if [[ -z $cmd ]] # 如果为空,执行下面then
then
continue # 进入下一次循环
elif [[ $cmd='quit' ]] # 如果cmd的值为quit
then
break # 跳出本次循环
fi
$cmd # 执行变量cmd里面的命令
done
day12 bash中的if、for的更多相关文章
- Bash 中的 $0 在什么时候不是 argv[0]
每个 C 程序都有一个 main 函数,每个 main 函数都有一个 argv 参数,这个参数是一个字符串数组,这个数组的值是由该 C 程序的父进程在通过 exec* 函数启动它时指定的. 很多人说 ...
- Bash中的任务(job)管理
本来不准备写这篇博客的,因为任务管理(job管理)非常非常常用,以至于觉得根本没有必要去写这样一个东西.但想了下,还是记录一下吧,也许有人会用到呢. 不知你是否碰到过这样的情况,当你兴致勃勃的打开VI ...
- bash中不可以用字符串做数组下标
bash中可以用字符串做数组下标吗例如 test["abc"]=1------解决方案-------------------- 好像是误会,是awk里可以,bash shell里不 ...
- Linux bash 中,如何将正常信息和错误信息输出到文件
问题描述: $ command 2>> error $ command 1>> output 是否有方法,在bash同一行,实现输出stderr到error文件,输出stdou ...
- bash 中的变量
bash 中的变量 Linux command line 笔记 变量无需声明,自动创建 var=abc #变量a赋值为字符串abc var="hello world" #字符串里有 ...
- Bash中的shopt选项
Bash中的shopt选项 http://blog.chinaunix.net/uid-20587169-id-1919110.html shopt命令用于显示和设置shell中的行为选项,通过这些选 ...
- bash中一些基础知识
bash是linux操作系统的shell.以下是Multi-Perspective Sentence Similarity Modeling论文实现时碰到的一个bash: #!/bin/bash py ...
- Bash中的位置参数和特殊参数
#Bash中的位置参数和特殊参数 #Bash中的位置参数是由0以外的一个或多个数字表示的参数.#位置参数是当Shell或Shell函数被引用时由Shell或Shell函数的参数赋值,并且可以使用Bas ...
- bash中的数值运算
第一种,使用((表达式)): a=3 ((b=a+2)) echo $b 第二种使用let: let "c=$a+4" echo $c 第三种,使用expr表达式(注意空格不能少) ...
随机推荐
- JavaScript小实例-文字跑马灯效果
我们常常能看到显示屏上字体的滚动以及手机弹幕等,下面所示代码就是一个简易的文字跑马灯的效果: <!DOCTYPE html> <html> <head lang=&quo ...
- autocomplete调用接口数据实现
开发中遇到需要对大量数据实时搜索,频繁调取api产生的问题记录 1.每输入一个字符,就向后端发一次请求.当输入完一个人名的时候,就已经向后端发送了好多条请求,太多的请求会给服务器带来压力,其实在实时搜 ...
- boost asio acceptor 构造
boost::asio::io_service io_svc; boost::asio::ip::address_v4 lis_ip; // 默认监听本机所有IP boost::asio::ip::t ...
- 2变量与基本类型之const限定符
一.const介绍: const对象一旦被创建其值就不能再改变,所以const对象必须初始化.任何试图对const赋值的行为都会引发错误. 二.初始化和const: 对const对象的主要限制就是只能 ...
- 19. 接口(创建interface 继承implements)
1.语法: interface 接口名{ 属性 抽象方法 } 2.实例: 3.注意: 1)类实现接口可以通过implements实现,实现接口的时候必须把接口中的所有方法实现,一个类可以实现多个接口. ...
- JavaWeb学习篇之----Tomcat中配置数字证书以及网络传输数据中的密码学知识
今天是学习JavaWeb的第二天,我们来了解什么呢?就了解一下Tomcat中配置数字证书的相关内容,但是在说这部分内容的时候,我们貌似得先说一下数字证书的相关概念,那说到数字证书的时候我们还得了解一些 ...
- bzoj 2257 (JSOI 2009) 瓶子与燃料
Description jyy就一直想着尽快回地球,可惜他飞船的燃料不够了. 有一天他又去向火星人要燃料,这次火星人答应了,要jyy用飞船上的瓶子来换.jyy 的飞船上共有 N个瓶子(1<=N& ...
- NX二次开发-创建直线(起点-向量方向-长度)UF_CURVE_create_line
NX9+VS2012 #include <uf.h> #include <uf_curve.h> #include <uf_csys.h> #include < ...
- 英语影视台词---The Professor
英语影视台词---The Professor 一.总结 一句话总结: brilliant and liberty:厉害且自在 understand and forgive and not care:f ...
- ionic-CSS:ionic checkbox(复选框)
ylbtech-ionic-CSS:ionic checkbox(复选框) 1.返回顶部 1. ionic checkbox(复选框) ionic 里面的 Checkbox 和普通的 Checkbox ...