环境变量、全局变量、位置变量、重定向

设置变量的作用范围

           格式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用法: 传递命令序列到程序

原文地址:https://www.cnblogs.com/5945yang/p/10837970.html