linux常用系统变量

常用系统变量
$0 当前程序的名称
$n 当前程序的第n个参数,n=1,2,…9
$* 当前程序的所有参数(不包括程序本身)
$# 当前程序的参数个数(不包括程序本身)
$$ 当前程序的PID $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数
$- 显示shell使用的当前选项,与set命令功能相同
$! 执行上一个指令的PID(好像不行?)
$? 执行上一个指令的返回值
条件判断:expression为字符串操作
-n str字符串str是否不为空
-z str字符串str是否为空
str1 =str2 str1是否与str2相同
str1!=str2 str1是否与str2不同 条件判断:expression为整数操作
expr1 -a expr2 如果 expr1 和 expr2 评估为真,则为真
expr1 -o expr2 如果 expr1 或 expr2 评估为真,则为真 条件判断:expression为bool操作
int1 -eq int2 如果int1等于int2,则为真
int1 -ge int2 如果int1大于或等于int2,则为真
int1 -gt int2 如果int1大于int2 ,则为真
int1 -le int2 如果int1小于或等于int2 ,则为真
int1 -lt int2 如果int1小于int2 ,则为真
int1 -ne int2 如果int1不等于int2 ,则为真 条件判断:expression为文件操作
-b 是否块文件-p 文件是否为一个命名管道
-c 是否字符文件-r 文件是否可读
-d 是否一个目录-s 文件的长度是否不为零
-e 文件是否存在-S 是否为套接字文件
-f 是否普通文件-x 文件是否可执行,则为真
-g 是否设置了文件的 SGID 位 -u 是否设置了文件的 SUID 位
-G 文件是否存在且归该组所有 -w 文件是否可写,则为真
-k 文件是否设置了的粘贴位-t fd fd 是否是一个与终端相连的打开的文件描述符(fd 默认为 1)
-O 文件是否存在且归该用户所有 Shell变量的分类 v环境变量 v预定义变量 v位置变量 v用户自定义变量(本地变量)常用环境变量echo $USER表示当前用户的登录名称,值与whoami命令的结果一致 echo $UID表示当前用户的用户名,该变量的值与”id-u”命令的结果一致 echo $SHEL表示当前用户的登录Shell,值与”passwd”文件中的Shell字段一致 echo $HOME表示当前用户的登录目录(宿主目录),值与”psaawd”文件中home字段一致 echo $PWD表示用户当前所在的目录,值与pwd命令的结果一致 echo $PATH表示当前用户的命令搜索路径,即用户不指定全路径名执行命令时,Shell程 序将在哪些目录以及按照何种顺序进行命令的搜索 echo $PS1 和echo $PS2 环境变量配置文件/etc/bashrc系统中用户登陆是默认加载的变量 /etc/profile /home/~/.bash_profile用户个人环境变量 为隐藏文件位于属主目录下 /home/~/.bashrc 用户自定义变量自定义变量的设置 $ DAY=Sunday自定义变量自定义的变量一定要大写 $ echo $DAY自定义变量的查看与引用 $ export DAY自定义变量的输出 $ unset DAY自定义变量的清除 使用Tab键可以补全命令名 或文件名和文件夹名 使用上下方向键浏览已输入命令(历史命令) $ history历史命令的查看 属主目录/.bash_history用户命令历史保存文件 $ history -c命令历史的清除 $ alias显示已定义的别名 $ alias lujing='pwd'命令别名的定义 把pwd 定义为lujing $ alias lujing取消lujing的别名定义 $ unalias -a取消所有定义的别名 系统别名定义配置文件在 /etc/profile.d/ 目录的中 输入输出文件文件编号默认设备 标准输入0键盘 标准输出1显示器 标准错误输出2显示器输入重定向 $ wc < test把test重定向到wc统计“字数 单词数 行数” 输出重定向 $ ls /etc/ > etcdir将标准输出重定向到etcdir文件 $ ls /etc/sysconfig/ >> etcdir 将标准输出重定向追加到etcdir文件 >>代表追加 $ nocmd 2> errfile将错误输出重定向到errfile文件 $ ls afile bfile &> errfile将标准输出和错误输出重定向到errfile文件 管道 cat 123 | head -5把第一个处理结果交给|以后的参数处理 shell脚本概念:类似与dos批处理、以文本方式保存、执行是不用编译、具有可执行(x)属性 /etc/init.d/下存在这很多系统服务的脚本 vi hello.sh建立并编辑脚本 hello 输入 echo hi,magic 保存并用chmod 设置可执行权限 $ bash hello.sh使用Shell命令程序执行脚本程序 $ . hello.sh使用“.”命令执行脚本程序 $ ./hello.sh直接执行具有执行属性的脚本程序 (必须具有可执行权限) 转自:http://blog.csdn.net/jamex/article/details/7565315 【linux常用系统变量】转载于:https://blog.51cto.com/riches/880290

    推荐阅读