shell脚本编程

23 篇文章 0 订阅

1.脚本:指一种不经过编译而直接被解释和执行的程序,如JavaScript脚本。
2.shell脚本:一种以shell脚本语言编写并通过shell来解释和执行的程序,本质上还是一种文本文件。
3.shell:一种解释器,解释shell脚本,对shell脚本进行解释并执行shell脚本;Linux的外壳。Linux默认的shell:bash
    Linux内核:kernel。
4.每个字符终端都有一个bash进程负责处理用户输入的命令。

  编辑:


    #!/bin/bash     # 用于告诉系统指出,执行的shell脚本所用的shell类型,是bash
    echo 'shell'    #test.sh
    echo  "PID:$$"  # $$:执行当前脚本的进程的进程号(PID)。

  执行:


    . test.sh或source test.sh #包含,引用
                              #bash进程不创建子进程,直接调用.sh脚本并执行脚本。

    sudo chmod 777 ./test.sh
    ./test.sh或bash test.sh #bash作为父进程,创建子进程用来执行脚本.sh。

    ${PATH}:系统环境变量	${HOME}:用户家目录   ${SHELL}:当前系统使用的shell类型
    ${PSI}:命令提示符		${HOSTNAME}:主机名称        ${MAIL}:邮件存放路径
    ${LOGNAME}:登录用户名		${USER}:当前用户账号名称
    printenv:与当前进程相关的所有全局环境变量。

    $0:当前脚本名称		$n(n=1,2,……):命令行第几个参数       $#:参数总个数
    $*:保存所有参数信息	$?:前一个 命令或函数的 返回值。      $$:当前脚本进程号。

    export 变量名:如,export x。让某个局部环境变量输出成为全局环境变量。
    1)在字符终端下,利用export命令输出一个变量成为全局环境变量后,如果通过使用"./脚本名.sh"或者“bash 脚本名.sh”的方式来执行脚本,那么bash进程为脚本所创建的子进程就可使用该全局环境变量,然而子进程对全局环境变量的修改并不会影响父进程bash中的对应变量的值。
    2)如果是以“.  脚本名.sh”或者“source  脚本名.sh”的方式来执行脚本,由于bash进程并没有创建额外的子进程去执行脚本,因此脚本对全局环境变量的修改实际就是对bash进程中对应变量的值的改变。

    expr处理字符串、数值计算;bc功能更强大的处理数值计算。
    expr  substr  【字符串】  【起始位置(数字从1开始)】  截取长度:如,expr substr  linuxShell  2 4
    expr  index   【字符串】  要定位的字符(字母):字符串定位。如,expr  index  "linuxShell"  Shell
    expr  match  [字符串1】 【字符串2】:从“字符串1”开始位置跟“字符串2”匹配比较,匹配成功返回字符串2的长度。不匹配否则返回值是0。
    expr  length  【字符串】:expr length  linuxShell  #10
    echo  varValue=$[ 10 + 100 ] #110,数值计算

    ``反引号 :如,echo  `date`在字符终端命令行显示当前时间。shell把反引号内的字符串当做shell命令进行执行。

    who :当前登录用户信息。
    which:查看shell命令所在路径。如,which who

    $HOME:用户家目录
    【添加自定义目录到系统环境变量$PATH】:
        在字符终端命令行,$PATH=$PATH:需添加的自定义目录路径    #如,$PATH=$PATH:/home/linux

    修改命令行提示符: 
    cp  ~/.bash_profile   ~./bash_profileBackup  #备份
    `PSI="$LOGNAME@$HOSTNAME:$PWD>" #用户名@主机名:路径> ` >> ~/.bash_profile
    `export PATH PSI` >> ~/.bash_profile

    basicCalculator=`echo "scale=4;100/2" | bc `    
    echo ${basicCalculator}
    echo "scale=4;100/2" | bc

补充:

其他资料:【环境变量与文件查找】


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值