Shell脚本_基础知识

一、基础知识

1.1 Bash基本特性

快捷键

按键功能
Ctrl+A光标调至命令行最前
Ctrl+E光标调至命令行最后
Ctrl+C停止正在执行的命令
Ctrl+L计算机屏幕清屏

Tab键可补齐命令

上下键可查命令历史

命令别名
alias命令可查看可使用的命令别名,也可进一步自定义别名
如 ll =‘ls -l’

输出的重定向
把本来输出到显示器的内容重定向到需要的位置

命令作用
>正确的信息重定向
>>正确的信息重定向追加
2>错误的信息重定向
2>>错误的信息重定向追加
&>既要正确的信息又要错误的信息重定向
&>既要正确的信息又要错误的信息重定向追加

管道
一个竖杠 | 是通过管道,可以将多条命令组合,将前一条命令的输出结果管道传递给第二条命令,作为它的输入信息。

1.2 脚本执行的多种方式

1.需要为文件赋予可执行的权限
绝对路径执行 / 相对路径执行
2.不需要文件有可执行的权限
sh 脚本文件名
source 脚本文件名 #不会启动子进程,可通过pstree查看进程树

二、变量

变量名=变量值
unset可取消变量值
注意事项
1.=两边不能有空格,不要使用关键字做变量名,如ls、cd等
2.如果变量名已存在则覆盖之前的变量值
3.变量名称由字母/数字/下划线组成,不能以数字开始

2.1 环境变量

变量名通常大写,由操作系统维护

2.2位置变量

bash内置变量,存储脚本执行时的参数
使用$n表示,n为数字序列号,如$1、$2、…、${10}、${11}、…

2.3 预定义变量

用来保存脚本程序的执行信息,可以直接使用,但不能直接为这些变量赋值

变量名含义
$0当前所在的进程或脚本名
$$当前运行进程的PID号
$?命令执行后的返回状态,0表示正常,1或其他表示异常
$#已加载的位置变量的个数
$*所有位置变量的值

$RANDOM 是系统生成一个随机数

2.4 区分三种界定符(引号)

双引号"":允许扩展,以$引用其他变量
单引号’’:不允许扩展,$视为普通字符
反引号``:将命令的执行输出作为变量值,$()与反引号等效

2.5 read标准输入取值

read从键盘读入变量值完成赋值
格式:read [ -p “提示信息”] 变量名
-p可选,-t可指定超时秒数,-s设置是否在终端显示输入的内容

2.6 变量的作用范围

局部变量只在当前shell环境中有效,无法在子shell环境中使用
全局变量在当前shell及子shell环境中均有效,用export 变量名=变量值,定义全局变量

2.7 计算及echo回显

可使用 $[] 或 $(()) 表达式进行整数运算替换

可使用++、+=、/=、%=等与java相同的简写表达式

bc计算器支持小数计算和比较运算,可使用管道 | 将表达式传递给bc计算器,如echo “scale=2;2.3*5.6” | bc, scale=n 可以约束小数位

-n 选项:不换行
-e选项:支持扩展属性 如echo -e “\033[32mOK\033[0m” #绿色显示OK

2.8 数组

存储多个数据的集合就是数组

test=(11 22 33)	#定义数组
echo ${test[0]}	#调用数组的值	11

三、基础命令

  • tr -s 删除多余重复的字串:echo “a b c” | tr -s " " #删除多余的空格
  • cut过滤数据:cut -d: -f1 /etc #以冒号为分隔,过滤第一列
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值