shell学习

Shell基础

shell概述

1 shell是什么

2 脚本执行方式

  • 脚本例子
#!/bin/bash
#这是第一个shell脚本的注释
echo -e "\e[1;36m 从hello world开始 \e[0m"
  • 赋予执行权限,直接运行

chmod 755 hello.sh

./hell.sh

  • 通过bash调用执行脚本

bash hello.sh

Bash的基本功能

命名别名与快捷键

source ~/.bashrc

  • ctrl+c 强制终止当前命令
  • ctrl+l 清屏
  • ctrl+a 光标移动打到命令行首
  • ctrl+c 光标移动到命令行尾
  • ctrl+u 从光标所在位置删除到行首
  • ctrl+z 把命令放入后台
  • ctrl+r 在历史命令中搜索
历史命令
输出重定向
  • 标准输入输出
  • 输出重定向

命令>文件

命令 >> 文件(追加)

2> (2是标准输出,记忆:犯2出错)

2>>

  • 输入重定向< , <<

wc命令

多命令顺序执行

;,&& , ||

管道 |

shell中的特殊符号

http://www.cnblogs.com/ggjucheng/archive/2012/10/30/2746963.html

http://www.open-open.com/lib/view/open1434697711520.html

shell学习_第1张图片

Shell变量

什么是变量与变量分类

变量,变量的命名规则

变量按照存储数据分类:字符串型,整型,浮点型,日期型等

在bash中默认都是字符串型的变量

1用户自定义变量

shell学习_第2张图片

2环境变量

  • 环境变量是全局变量
  • 用户自定义变量 只在当前shell生效
    pstree命令
    set , unset , export , env
    PATH变量 , PS1变量:命令提示符修改
\#查看PATH
echo $PATH
\#增加PATH
PATH = "$PATH":/root/sh

3位置参数变量

4预定义变量

shell变量详解
http://www.cnblogs.com/barrychiao/archive/2012/10/22/2733210.html

Shell运算符

1 算数运算符

+ , - , * , / , % , **
+= , -= , *= , /= , %=
let”“命令,注意除法运算

2 位运算符

<< , >> , & , | , ~ , ^

3 自增自减运算符

++ , - - (与C语言类似,1只能是变量,2前置,后置的区别)

4 数字常量

0(8进制)
0x(16进制)
2# , 8# , 16# 分别可以表示不同的进制

变量测试

http://www.jb51.net/article/52384.htm

正则与通配

通配符 ? * [] , 通配是完全匹配
find , ls , cp支持通配符,不支持 正则
grep awk sed可以支持正则,正则包含匹配

正则表达式元字符和格式:http://blog.chinaunix.net/uid-20422917-id-1682678.html
正则:http://www.cnblogs.com/kzloser/archive/2012/09/10/2677283.html

条件判断与控制结构

Shell条件判断:http://linglong2110.iteye.com/blog/746809
for while until

#!/bin/bash 
# for 1
for i in 1 2 3 4
do
        echo $i
done

# for 2
for i in $(seq 1 4)
do
        echo $i
done

#for 3
for ((i=1; i<=4; i++))
do
        echo $i
done
#!/bin/bash
i=1
s=0
while [ $i -le 100 ]
do
        s=$(($s+$i))
        i=$(($i+1))
done
echo "The sum is : $s"
#!/bin/bash
i=1
s=0
until [ $i -gt 100 ]
do
        s=$(($s+$i))
        i=$(($i+1))
done
echo "The sum is : $s"

命令

awk : https://linux.cn/article-3945-1.html

你可能感兴趣的:(shell学习)