【shell基础】

Ctrl+R 搜索之前的命令
Ctrl+D 退出
Ctrl+A 移动到行首
Ctrl+E 移动到行尾
Ctrl+U 删除光标前的内容
Ctrl+K 删除光标后的内容
Ctrl+S 锁频
Ctrl+Q 解锁
Ctrl+Y 撤销之前的操作

 shell变量:用一个特定的字符串去表示不固定的内容

变量的类型

1 自定义变量
    定义变量: 变量名=变量值  变量名必须以字母或下划线开头 区分大小写
    引用变量: $变量名 或 ${变量名}
    查看变量: echo $变量名 set(所有变量:包括自定义变量和环境变量)
    取消变量: unset 变量名
    作用范围: 仅在当前shell中有效
2 环境变量
   定义环境变量
      方法一:export back_dir2=/home/backup
      方法二:export back_dir1 将自定义变量转换为环境变量
   引用环境变量:$变量名或 ${变量名}
   查看环境变量:echo $变量名 env 例如 env |grep back_dir2
   取消环境变量:unset 变量名
  变量作用范围:在当前shell和子shell有效
3 位置变量
   $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}
4 预定义变量
   $0 脚本名
   $* 所有的参数
   $@ 所有的参数
   $# 参数的个数
   $$ 当前进程的PID
   $! 上一个后台进程的PID
   $? 上一个命令的返回值 0表示成功      

 变量的赋值方式

1 显示赋值
    变量名=变量值
2 read从键盘读入变量值
     read 变量名
     read -p “提示信息:” 变量名
     read -t 5 -p "提示信息:" 变量名
     read -n 2 变量名

定义或引用变量时注意事项:
    " "  弱引用
    '  '  强引用
    · ·  命令替换  等价于$()  反引号中的shell命令会被先执行

变量的运算

1 整数运算
    方法一:expr
            expr 1+2
            expr $num1+$num2     +-*/%
    方法二:$(())
            echo $(($num1+$num2))  +-*/%
            echo $((num1+num2))
            echo $((5-3*2))
            echo $(((5-3)*2))
            echo $((2**3))
            sum=$((1+2));echo $sum
    方法三:$[]
            echo $[5+2]              +-*/%
            echo $[5**2]
    方法四:let
            let sum=2+3;echo $sum
            let i++;echo $i

2 小数运算
    echo "2*4" |bc
    echo "2^4" |bc 
    echo "scale=2;6/4" |bc
    echo "BEGIN{print 1/2}"
    echo "print 5.0/2" |python

变量"内容"的删除和替换

url=www.sina.com.cn
echo ${#url}    获取变量值的长度
输出:15
echo ${url}    标准查看
输出:www.sina.com.cn
echo ${url#*.}
输出:sina.com.cn
echo ${url##*.}
输出:cn
echo ${url%.*}
输出:www.sina.com
echo ${url%%.*}
输出:www

索引及切片

echo $url
输出:www.sina.com.cn
echo ${url:0:5}     0:索引开始位置  5:取长度
echo ${url:5}   从5取到结束

"内容"的替换

url=www.sina.com.cn
echo $(url/sina/baidu)
输出:www.baidu.com.cn
echo $(url/n/N)
输出:www.siNa.com.cn
echo $(url//n/N)
输出:www.siNa.com.cN

 

 

posted @ 2019-09-11 17:42  没有显示名称  阅读(211)  评论(0)    收藏  举报