高级bash脚本编程 #
变量 #
内部变量 #
-
$BASH
-
$EDITOR
-
$EUID 有效用户ID
-
$FUNCNAME 当前函数名
-
$GLOBIGNORE 文件名模式匹配列表,忽略
-
$GROUPS 当前用户所属的组
-
$HOME
-
$HOSTNAME
-
$HOSTTYPE 当前主机类型
-
$IFS 内部域分隔符,默认为空白(空格, 制表符,和换行符),这个变量用来决定Bash在解释字符串时如何识别域, 或者单词边界.
-
$ echo $IFS | cat -vte $
-
$ bash -c 'set w x y z; IFS="+"; echo "$*"' w+x+y+z
-
-
$LINENO 记录自身在脚本中的行号
-
$OLDPWD 之前所在目录
-
$PATH 可执行文件搜索路径
-
$PPID 父进程PID
-
$PS1 主提示符
-
$PS2 第二提示符,当需要额外输入的时候,就会看到它,默认为
>
-
$PS3 select循环中显示
-
$PS4 当使用
-x
调试脚本的时候,每行开头显示的,默认为+
-
$PWD 当前路径
-
$TMOUT 超时'
-
#!/bin/bash TMOUT=3 # 提示输入时间为3秒. echo "What is your favorite song?" echo "Quickly now, you only have $TMOUT seconds to answer!" read song if [ -z "$song" ] then song="(no answer)" fi echo "Your favorite song is $song."
-
-
$UID
-
$0,$1,$2,…,${10}… 位置参数,从命令行传给脚本,或者使用set接收
-
$# 位置参数的个数
-
$* 所有的位置参数都被看成一个单词
-
$@ 所有位置参数,但是每个参数都是独立的引用字符串
-
$! 运行在后台的最后一个作业的PID
-
$_ 之前执行命令的最后一个参数
-
$? 命令函数脚本本身的退出状态码
-
$$ 脚本自身的PID