• shell脚本变量


    脚本案例

    vim first.sh
    #!/bin/bash  #注明使用环境
    cd /boot
    echo "当前目录"
    pwd
    echo"中以vml开头的文件包括"
    ls -lh vml
    
    bash firsh.sh
    当前目录
    /boot
    中以vml开头的文件包括
    ls: cannot access vml: No such file or directory #我没有
    
    

    执行脚本的三个方法

    • 需要执行权限:./root/first.sh
    • 不需要执行权限:进入目录sh first.sh bash firsh.sh
    • 不需要执行权限:进入目录source first / first.sh

    linux默认的是/bin/bash

    重定向

    交互式硬件设备文件:standard(input,output,error)

    • 标准输入:从该设备接受用户输入的数据 0(默认编号)
    • 标准输出:通过该设备向用户输出数据 1(默认编号)
    • 错误输出:通过该设备报告执行出错信息 2(默认编号)

    操作

    • 标准输入 = /dev/stdin = 代号0 = <符号(注意,没有包含<<符号)。
    • 标准输出 = /dev/stdout = 代号1 = >或>>符号。
    • 标准错误输出 = /dev/stderr = 代号2 = 使用2>或2>>符号。

    :追加,>:覆盖5

    管道符

    管道符号意如其名,类似管道一样将管道入口的数据通过管道传递给管道出口。
    管道是为了解决进程间通信问题而存在,它可以让两个进程之间的数据进行传递,将一个进程的输出数据传递给另一个进程作为其输入数据。管道左边是数据给予方,管道右边是数据接收方。

    awk命令

    • awk -F “分隔符” ‘/过滤文本/{print $1}’处理文件 #过滤文本里以分隔符为分割打印出第一行
    [root@server01 ~]# df -Th | grep "/$" |awk '{print $6}'  #打印出df里以/结尾的行的第6列
    62%
    [root@server01 ~]# df -Th | grep "/$" |awk '{print $6}'  #打印出df里以/结尾的行的第6列
    62
    

    shell变量

    自定义变量
    就是用户自己定义的变量,只有用户自己的shell环境中生效,又称为本地变量

    格式: 变量名=变量值
    name=zhengsan
    product=2.0
    echo $name
    zhengsan
    echo $product3.0
    2.03
    echo $name$product
    zhengsan2.0
    

    特殊符号

    echo "$name$product"  #可以引入变量
    zhengsan2.0
    echo '$name $product'  #不会引入变量
    $name $product
    #反撇号:引号内的执行结果作为变量名的变量值(类似于|)
    

    read命令

    -p:设置提示信息
    read -p "请输入你的名字年龄:" name age
    请输入你的名字年龄:zhangsan 20
    echo $naem$age
    zhangsan20
    

    设置变量生效范围

    export命令:可以将局部的变量发布到全局
    echo $product  #查看当前shell变量
    2.0
    export product  #将product变量发布全局
    bash  #切换到新的子shell环境
    echo $product
    2.0
    exit
    

    注意:发布全局只能向子shell发布,不能向上父shell发布

  • 相关阅读:
    Mysql Dump
    Amazon的Dynamo中用到的几种技术
    一致性哈希
    eclipse下提交job时报错mapred.JobClient: No job jar file set. User classes may not be found.
    eclipse中java heap space问题解决方法
    hadoop的启动步骤
    java根据经纬度计算距离
    eclipse创建Enterprise Application project没有web.xml
    cygwin+hadoop安装步骤和问题
    java程序员修炼
  • 原文地址:https://www.cnblogs.com/wml3030/p/15430182.html
Copyright © 2020-2023  润新知