格式1:export 变量名 ...
格式2: export 变量名=变量值 ... —— 两种格式可以混合使用
export 查看全局变量
[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
常见的环境变量:
PWD、PATH
USER(用户名) 、
LOGNAME(用户名)、
UID(用户的ID)、
PPID(父进程ID)、
SHELL(当前默认使用的shell)、
HOME(用户家目录)
PS1(指定[root@centos6-y ~]#)、$PS2(命令行的续行符号)
表示为 $n,n为1~9之间的数字
大于9的位置参数要用{},例如${10}
$#:命令行中位置变量的个数;
$*:所有位置变量的内容(较少使用);
$@:所有位置变量的内容;
$0:当前执行的进程/程序名;
$$ :当前shell的PID值, 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时间戳从1970-1-1 0:0:0 到某个时间点的秒数
[root@centos6-y ~]# date +%s
1547214687
改变标准输入、标准输出、标准错误的方向
类型 |
操作符 |
用途 |
重定向标准输入 |
< |
将命令中接收输入的途径由默认的键盘更改为指定的文件 |
重定向标准输出 |
> |
将命令的执行结果输出到指定的文件中,而不是直接显示在屏幕上 |
>> |
将命令执行的结果追加输出到指定文件 |
|
重定向标准错误 |
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