Shell概述

Shell是一个命令行解释器,他接收应用程序/用户命令,然后调用操作系统内核
在这里插入图片描述

文件名以.sh结尾
# 运行脚本
bash xxx.sh
# 运行脚本
sh xxx.sh
脚本开头使用#!bin/bash指定命令行
使用ll命令查看文件的权限
使用chmod命令修改文件的权限
# 更改文件权限为rwxr-xr--
chmod 754 xxx.sh
拥有运行权限后,可以直接运行,不需要bash和sh命令
# 可以看到所有的函数和变量
set
# 可以使用全局变量
$HOME $USER
# 自定义变量赋值
变量名=a=2
# 输出a的值
echo $a
# 查找定义的变量
set | grep a
# 可以将变量变成全局变量
export 变量名
更改变量作用范围仅限当前bash极其子bash
# 声明变量
echo $new_var
# 撤销变量
unset 变量名
# 只读变量,不可更改
readonly b=3
$0表示脚本名字
$1$9代表变量
$#变量个数
$*将所有参数变成一个
$@将所有参数变成一个集合
$[表达式]可以运算
$((表达式))可以运算
# 命令替换
$()和``(反引号)
用命令替换可以将结果运算赋值给变量
test condition
[ condition ](两边各有一个空格)
$?可以查看结果
# 举例[ -r hello.sh ],注意两侧各有一个空格
-r 读权限
-w 写权限
-x 运行权限
-e 文件存在
-d 文件存在并且是一个目录
-f 文件存在并且是一个常规的文件
&&表示前一条成功后再执行后面的
||表示前一条失败后再执行后面的
read -t 数字表示x秒后退出
read -p 表示提示性句子
# 条件判断语法
if [ $1 -lt 18 ]
then
        echo 18
elif [ $1 -lt 35 ]
then
        echo gt 25
else
        echo "others"
fi
# case
case $1 in
1)
        echo 1
;;
2)
        echo 2
;;
*)
        echo "others"
;;
esac
# for循环
sum=0
for((i=0;i<=100;i++))
do
        sum=$[$sum+$i]
done
echo $sum
# while循环
sum=0
i=0
while [ $i -lt 100 ]
do
        sum=$[$sum+$i]
        i=$[$i+1]
done
echo $sum
# 输出时间戳
date +%s
# 输出文件名
basename xxx
# 将结果传给$0,去除后缀.sh
basename $0 .sh
# 输出相对路径
dirname xxx
# 输出绝对路径
echo $(cd $(dirname $0); pwd)
# 匹配指定字符xxx
grep xxx
# 一行的开头和结尾
^$
# 通配符
.
# 表示上一个字符的零次或多次
*
# 表示区间
# 1或者2
[1,2]
# 1到3
[1-3]
# a到c
[a-c]
# a到c,e到g
[a-c,e-g]
# 使用扩展正则
grep -E
cut命令

在这里插入图片描述

# awk命令
cat /etc/passwd | awk -F ":" '/^root/ {print $1","$6","$7}
cat /etc/passwd | awk -F ":" 'BEGIN{print "user,shell"}{print $1","$7} END{print "end of file"}'

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值