Linux的shell学习一
积累知识,点滴开始!!!
打印HelloWorld
# helloworld.sh
# #!/bin/bash 是指出解析当前*.sh程序的解析器是/bin/bash
#!/bin/bash
echo "Hello World" # 类似于c++的cout一样
运行sh helloworld.sh ,打印出Helloworld,也可以给使用chmod +x helloworld.sh 给helloworld.sh加上可执行权限,就可以直接**./helloworld.sh**运行了。
管道,重定向
管道
grep "hello" file.text | wc -l # 使用管道,grep查找到的hello作为wc的参数 wc -l 是计算一共有几行中有hello
可以使用两个命令进行管道,也可以使用多个命令,管道是将前一个命令的输出作为后一个命令的输入使用。
重定向
重定向是将命令的输出结果定向的你指定的文件,而不是输出到标准输出
符号 | 说明 |
---|---|
>> | 表示将结果添加到文件的尾部,不覆盖原数据 |
> | 表示将结果输入到文件中,并且覆盖文件中原来的内容 |
关系运算符
关系运算符只支持数字之间运算,不支持字符串,除非字符串的值是数字。
常用运算符的符号,假设a = 10, b = 20。
运算符 | 说明 | 示例 |
---|---|---|
-eq | 检测两个数是否相等,相等返回true | [$a - eq $b] 返回false |
-ne | 检测两个数是否相等,不相等返回true | [$a -ne $b] 返回true |
-gt | 检测左边的数是否大于右边的,如果是返回true | [$a -gt $b] 返回false |
-lt | 检测左边的数是否小于右边的,如果是返回true | [$a -lt $b] 返回true |
-ge | 检测左边的数是否大于等于右边的,如果是返回true | [$a -ge $b] 返回false |
-le | 检测左边的数是否小于等于右边的,如果是返回true | [$a -le $b] 返回true |
流程控制语句
if语句
if # 条件语句
then
# 执行语句
elif # 条件语句
then
# 执行语句
e