zoukankan      html  css  js  c++  java
  • 环境变量、全局变量、位置变量、重定向

    设置变量的作用范围

               格式1export   变量名 ...

               格式2export  变量名=变量值  ... —— 两种格式可以混合使用

        export 查看全局变量

    更改环境变量 PATH

    [root@centos6-y ~]# echo $PATH

    /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

    /etc/procfile 中添加需要更改添加的PATH

     Export  PATH=/root/yj:$PATH

    重启电脑  shutdown  -r   now

    检查PATH状态是否添加成功

    echo  $PATH

    若添加成功,你的shell就可以直接拿指令,当命令来使!

    修改登录后名称:liu

    需要修改 修改/etc/sysconfig/network    重新启动网卡

    查看全局变量

    set命令可以查看所有的Shell变量,其中包括全局变量(是由父进程继承给子进程)

    env命令只查看全局变量

    环境变量:

    由系统提前创建,用来设置用户的工作环境

            配置文件: /etc/profile~/.bash_profile

    常见的环境变量:

    PWDPATH

    USER(用户名) 、

    LOGNAME(用户名)、

    UID(用户的ID)、

    PPID(父进程ID)、

    SHELL(当前默认使用的shell)、

    HOME(用户家目录)

    PS1(指定[root@centos6-y ~]#)、$PS2(命令行的续行符号)

    位置变量

    表示为 $nn1~9之间的数字

    大于9的位置参数要用{},例如${10}

    预定义变量

    $#命令行中位置变量的个数;

    $*所有位置变量的内容(较少使用);

    $@所有位置变量的内容;

    $0当前执行的进程/程序名;

    $$ 当前shellPID, echo $$ps $$, 常用作临时变量的后缀;

    $?上一条命令执行后返回的状态;

    //命令状态返回值,不是标准输出的,是用来判断命令是否执行成功的。。

    //如果命令状态返回值是0,说明命令执行成功;如果非0,说明执行出错或异常。

    //通过$?可以获取状态值(获取得是上一条命令的状态值)。

    参数处理

    说明

    $#

    传递到脚本的参数个数

    $*

    以一个单字符串显示所有向脚本传递的参数。

    "$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。

    $$

    脚本运行的当前进程ID

    $!

    后台运行的最后一个进程的ID

    $@

    $*相同,但是使用时加引号,并在引号中返回每个参数。

    "$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。

    $-

    显示Shell使用的当前选项,与set命令功能相同。

    $?

    显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

    $RANDOM

    随机数,可以作为临时文件名;       随机数范围 0-32767

     

    返回值判断

    有条件运行多个命令

    cmd1 && cmd2    //cmd1成功了(返回值为0)才会运行cmd2

              cmd1 || cmd2    //cmd1失败了(返回值为非0)才会运行cmd2

     

    UNIX时间戳:

    UNIX时间戳从1970-1-1 0:0:0 到某个时间点的秒数

    [root@centos6-y ~]# date +%s

    1547214687           

    Bash的重定向操作

    改变标准输入、标准输出、标准错误的方向

    类型

    操作符

    用途

    重定向标准输入

    <

    将命令中接收输入的途径由默认的键盘更改为指定的文件

    重定向标准输出

    >

    将命令的执行结果输出到指定的文件中,而不是直接显示在屏幕上

    >>

    将命令执行的结果追加输出到指定文件

    重定向标准错误

    2>

    清空指定文件的内容,并将标准错误信息保存到该文件中

    2>>

    将标准错误信息追加输出到指定的文件中

    重定向标准输出和

    标准错误

    &>

    将标准输出、标准错误的内容全部保存到指定的文件中,而不是直接显示在屏幕上

    &>>

    Bash4.0以上才支持,rhel5不支持

    Here Document

    <<

    命令序列传递到一个交互程序或者命令中

    命令

    说明

    command > file

    将输出重定向到 file

    command < file

    将输入重定向到 file

    command >> file

    将输出以追加的方式重定向到 file

    n > file

    将文件描述符为 n 的文件重定向到 file

    n >> file

    将文件描述符为 n 的文件以追加的方式重定向到 file

    n >& m

    将输出文件 m n 合并。

    n <& m

    将输入文件 m n 合并。

    << tag

    将开始标记 tag 和结束标记 tag 之间的内容作为输入。

    Here Documet用法: 传递命令序列到程序

  • 相关阅读:
    版本控制
    1121 Reverse the lights(“玲珑杯”线上赛 Round #15 河南专场)
    LightOJ 1055
    LightOJ 1053
    LightOJ 1052
    4512 吉哥系列故事——完美队形I(LCIS)
    ZOJ 2432-Greatest Common Increasing Subsequence
    病毒 (湖南省第八届大学生计算机程序设计竞赛)
    1328 台球碰撞 (湖南省第六届大学生计算机程序设计竞赛)
    zzuli 1332 内部收益率 (湖南省第六届大学生计算机程序设计竞赛)
  • 原文地址:https://www.cnblogs.com/5945yang/p/10837970.html
Copyright © 2011-2022 走看看