Linux的Shell脚本编程

本文深入探讨了Shell的性质,包括它作为解释器的角色,如何通过source和新建子shell执行脚本。同时,详细阐述了重定向的概念,如何改变程序的输入输出,并介绍了文件描述符。此外,还讲解了Bash变量的用法,如局部变量、位置变量和特殊变量,以及它们在脚本执行过程中的作用。最后提到了命令的退出状态和管道的使用。
摘要由CSDN通过智能技术生成

 
shell就是一个bash程序
        -    解释器,启动器
        -    解释器:
            用户交互输入
            文本文件输入
        脚本本质:
        -    #!/bin/bash
        -    #!/usr/bin/python
        读取方式:
        -    当前shell:source   .
        -    新建子shell:/bin/bash  file  或者   ./file.sh (需要chmod+x  file.sh)
    
重定向不是命令
    -    程序自身都有I/O
        0:标准输入
        1:标准输出
        2:错误输出
    -    控制程序I/O位置
    -    一切皆文件
        /proc/$$/fd
    -    程序是否处理I/O
    -    重定向绑定顺序:从左到右
        ls  /  /hello   1> mylog1.log  2>&1
        ls  /  /hello   >& mylog2.log
        ls  /  /hello   &> mylog2.log
        
        read  aaa  0<<<"hello"
        read   aaa   0<<MYEOF
        cat  0<  /etc/passwd
        
        exec:使用指定的命令替换当前shell命令

bash变量        
    -    name=bjsxt
   局部变量
    -    只能用于函数
    -    local var=100
    位置变量
    -    $1,$2,${11}
    特殊变量
-    $#:位置参数个数
-    $*:参数列表,双引号引用为一个字符串  ./a  a b c d e  "a b c d e"
    所有的参数作为一个字符串 5个参数作为一个字符串
-    $@:参数列表,双引号引用为单独的字符串  "a" "b" "c" "d" "e"
    所有的参数作为单个的字符串 5个参数作为五个字符串
-    $$:当前shell的PID:接收者
    $BASHPID:真实的值
    管道
-    $?:上一个命令的退出状态
    0:成功
    其他:失败

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值