shell脚本简单使用

本文介绍了Shell脚本中的单引号和双引号用法,详细阐述了Shell作为命令解释器的角色以及脚本规范。讲解了特殊位置变量如$0、$#、$@等的含义,并展示了参数传递和字符串删除与替换的实例。通过了解这些基础知识,读者可以更好地进行Shell脚本自动化任务的编写。
摘要由CSDN通过智能技术生成

xshell里的引号

单引号 :所见所得 吃啥吐啥

双引号 : 里面的特殊符号会被解析

什么是shell?
命令解释器,负责翻译我们输入的命令,执行成功返回给用户
linux默认的shell是(bash)
什么是shell脚本
命令的集合 很多可执行命令放在文本中成为shell脚本
shell脚本规范(为自动化准备)
  • 必须放在同一的目录
  • 脚本必须以.sh结尾
  • 脚本开头有注释 #!/bin/bash 必须是第一行 以外的都是注释
  • **脚本的注释信息 **
  • 建议注释使用英文
  • 成对的符号和语法一次性写完
  • 脚本名称的命名 最好见名知意
shell特殊位置变量
  • $0:代表了脚本的名称,如果全路径执行 则脚本名称带全路径
    [root@localhost ~]#sh test.sh
    test.sh 
    
    [root@localhost ~]#sh /etc/test.sh
    /etc/test.sh
    
    [root@localhost ~]#basename /etc/test.sh
    test.sh
    
    test.sh内容:
    #!/bin/bash
    echo $0
    
  • $n 脚本的第n个参数 0被脚本名称占用 从1开始 9后面的参数要用{} 括起来 {10}
    [root@localhost ~]#sh /etc/test.sh oldboy1 oldboy2
    oldboy1
    oldboy2
    
    test.sh内容:
    #!/bin/bash
    echo $1
    echo $2
    
    [root@localhost ~]#echo -e '#!/bin/bash\necho `pwd`' >test.sh
    [root@localhost ~]#sh test.sh
    /root
    
  • $# 获取脚本传参的总个数
  • ∗ 获 取 脚 本 所 有 的 参 数 , 不 加 括 号 和 ∗ ∗ ∗ ∗ * 获取脚本所有的参数,不加括号和 ** ** @ 相同 加上双引号 则把参数视为一个参数
  • @ 获 取 脚 本 所 有 的 参 数 , 不 加 括 号 和 ∗ ∗ ∗ ∗ @ 获取脚本所有的参数,不加括号和 ** ** @ 相同 加上双引号 则把参数视为一个参数*
  • $? 获取上一条命令的返回结果 0为成功 非0失败
    [root@localhost ~]# echo 1
    1
    
    [root@localhost ~]# echo $?
    0
    [root@localhost ~]# ll xxxxx
    ls: cannot access xxx: No such file or directory
    
    [root@localhost ~]# echo $?
    2
    
  • $$:获取脚本的PID
  • $!:获取上一个在后台运行脚本的PID 调试使用
  • $_:获取命令行最后一个参数
字符串的删除和替换
  • #** 从前往后匹配删除 ## 贪婪匹配 **
    [root@localhost ~]# url=www.baidu.com
    [root@localhost ~]# echo ${url}
    www.baidu.com
    [root@localhost ~]# echo ${url#*.}
    baidu.com
    [root@localhost ~]# echo ${url##*.}
    com
    
  • %** 从前往后匹配删除 %% 贪婪匹配 **
    [root@localhost ~]# url=www.baidu.com
    [root@localhost ~]# echo ${url}
    www.baidu.com
    [root@localhost ~]# echo ${url%.*}
    www.baidu
    [root@localhost ~]# echo ${url%%.*}
    www
    
  • /** 从前往后匹配删除 // 贪婪匹配 **
    [root@localhost ~]# echo ${url}
    www.baidu.com
    [root@localhost ~]# echo ${url/w/a}
    aww.baidu.com
    [root@localhost ~]# echo ${url//w/a}
    aaa.baidu.com
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值