shell重点基础

shell脚本是什么?
文本文件、包含一个或多个系统文件、主要用来完成系统管理员的日常管理工作

默认登录shell,如何改变该shell?
默认登录shell为创建用户时指定,若创建时不指定,则默认为/bin/bash,可使用命令chsh username -s shellname进行shell更改

shell脚本变量有哪些?
系统定义环境变量,由系统自己创建,一般变量由大写字母组成,可使用set命令进行查看
用户定义变量,变量可使用echo 进行查看

如何将标准错误输出及正确输出到同一文件?
1. 使用 (2>&1) 如command > file 2>&1
2. 使用 (&>) 如command &> file

shell脚本中if如何嵌套?

shell中“$?”标记的用途
$? 表示上个命令执行结果是否成功,若成功则访问0值 若不成才则返回非0

shell中如何比较两个数字
if [ $x -gt $y ]

break、continue作用?
break用来退出循坏
continue用来退出循坏流程中其中一次迭代,会继续执行下次循环条件

如何调试sh脚本
-x参数 eg:sh -x test.sh
-nv参数 eg: sh -nx test.shellname进行shell更改

shell脚本如何标胶字符串
使用test命令可以比较字符串

bash中特殊变量
$0 表示命令行中脚本名字
$1 表示第一个命令行参数
$# 表示命令行参数的数量

shell脚本中 如何测试文件
test测试文件
-d filename 如果文件存在且为目录,则返回true
-e filename 判断文件
-f filename 判断普通文件
-r filename 文件存在并可读
-w
-x

获取终端输入
read命令可用来获取终端输入

unset 用于取消变量或取消变量赋值

if command
then
command
else
if command
then
command
fi
fi

if command
then
command
elif command
then
more command
fi

test命令可判断三类条件
test condition
[ condition ]
数值比较(不能使用浮点数)
字符串比较
文件比较

数值比较(参数左右有空格)
-eq 判断相等 equal
-ge 判断大于等于
-gt 判断大于 gather than
-le 判断小于等于
-lt 判断小于 less than
-ne 判断不等于 not equal

字符串比较
-n str1 是否非0
-z str2 是否为0 zero
>和<比较必须进行转义

文件比较
-e exist是否存在
-s 是否非空
-O 是否属于当前用户
file1 -nt file2 判断1是否新于2new than
file1 -ot file2 判断1是否旧于2old than

双括号(( expression ))
expression为高级表达式
双方括号[[ expression ]]
expression为字符串比较、为高级特性字符串比较

case命令
case var in
pattern1 | pattern2) command1;;
pattern3) command2 ;;
pattern4) command3;;
*) command4;;
esac
mpstat -P ALL 5 1

处理用户输入
$# 表示执行脚本参数总数
$* 表示执行脚本所带参数的集合
$@ 表示执行脚本所带参数的集合

read命令接受用户输入
-n和值1 一起使用表示read命令在接受单个字符后退出
eg: read -n1 -p "your choice is [Y/N]: " answer
-p 参数 直接在read命令行指定提示符变量
eg:read -p “your name is :” name #注意name变量前有一个空格
-t 参数 获取用户输入时指定时间
eg:read -t 5 -p “your name is :” name #用户5秒内没有输入值就会自动退出
-s 参数 隐藏方式读取用户输入

&> filename 将命令的所有输出都输出到文件filename中

ifconfig | grep -w inet | grep -v “127.0.0.1” | awk ‘{ print $2}’| tr -d “addr”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值