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表达式(注意空格不能少) ...
随机推荐
- htons(), ntohl(), ntohs(),htons()这4个函数(摘)
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题.这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数.网络字节顺序与本地字节顺序之间的转换 ...
- cocos构建的android项目的返回键相应
@Override public boolean dispatchKeyEvent(KeyEvent event) { //返回键 cocosActivity不相应onbackPressed和onKe ...
- 杭电多校第一场-M-Code
题目描述 After returning with honour from ICPC(International Cat Programming Contest) World Finals, Tom ...
- 【学术篇】SDOI2009 SuperGCD
特别说明: 为了避免以后搬家时的麻烦, 这里的文章继续沿用csdn的风格和分类好了~ Emmmm这个题是一道高精度的模板题啊~ 既然是高精度的裸题, 那我们这些懒人当然是选择:用python啦~ 懒癌 ...
- sqlservice对于时间的操作
最近在写一个项目时,用到了时间的比较和时间的加减,在这里简单说一下,我也是刚接触数据库不久,如有说的不当之处望大家包涵,指正 一.时间的比较 开始的时候我比较时间用的是 Time>GETDATE ...
- vue computed和methods 计算属性和侦听器
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- leetcode-263-丑数一
题目描述: 方法一:递归 class Solution: def isUgly(self, num: int) -> bool: if num == 0: return False if num ...
- python解决迅雷下载限制的方法
一.转换迅雷下载链接 import base64 url='thunder://QUFodHRwOi8veHVubGVpLnhpYXphaS16dWlkYS5jb20vMTkwOC/JqLa+Mi5I ...
- ggplot2在一幅图上画两条曲线
ggplot2在一幅图上画两条曲线 print(data)后的结果是 C BROWN.P MI.P 0 0.9216 0.9282 30 0.9240 0.9282 100 0.9255 0.9282 ...
- 杂项:ionic
ylbtech-杂项:ionic ionic是一个用来开发混合手机应用的,开源的,免费的代码库.可以优化html.css和js的性能,构建高效的应用程序,而且还可以用于构建Sass和AngularJS ...