当前位置: 首页 > Linux, shell > 正文

你不知道的bash (内置变量)

题记

  使用Linux有四年多了
  曾经有段时间,也静下心来将bash好好的研究了一把,心满意足的感觉自己“会”了
  随着时间的推移,常用的命令就那么几个,渐渐的,知识面逐渐收缩
  再次看到bash资料时,才发现:“原来可以不用这么绕,原来可以这么直接”
  学习就是一个温故知新的过程,技术就是一个在使用过程中逐渐积累的过程
  这篇文档题目为《你不知道的bash》,其实,更确切的讲,应该是《我不知道的bash》
  在”写下来“的过程中,不仅仅梳理了忘记的东西,还顺带的整理了一些bash中的经典用法
  希望以后不要再忘了

$BASHPID

当前bash实例的进程号

  klwang@klwang-A480B:~$ echo $$, $BASHPID
  2057, 2057

$BASH_VERSION

系统中bash的版本号

  klwang@klwang-A480B:~$ echo $BASH_VERSION
  4.2.25(1)-release

$BASH_VERSINFO[n]

详细的bash信息

  klwang@klwang-A480B:~$ for i in {0..5}; do echo $i, ${BASH_VERSINFO[i]}; done
  0, 4
  1, 2
  2, 25
  3, 1
  4, release
  5, x86_64-pc-linux-gnu

$CDPATH

cd命令的相对搜索路径

  klwang@klwang-A480B:~$ export CDPATH=/home/klwang/桌面
  klwang@klwang-A480B:~$ cd about_ha/
  /home/klwang/桌面/about_ha
  klwang@klwang-A480B:~$ export CDPATH=$CDPATH:/tmp
  klwang@klwang-A480B:~$ cd ssh-QijtnVpd1405/
  /tmp/ssh-QijtnVpd1405

$EDITOR

脚本调用的默认编辑器,通常是vi 或者 emacs

$FUNCNAME

当前函数名

  klwang@klwang-A480B:~$  xyz23 ()
  >  {
  >     echo "$FUNCNAME now executing."
  >  }
  klwang@klwang-A480B:~$ xyz23 
  xyz23 now executing.

$GROUPS

当前用户所属组信息

  klwang@klwang-A480B:~$ echo ${GROUPS}
  1000

  klwang@klwang-A480B:~$ id -g
  1000

$HOSTTYPE

机器架构

  klwang@klwang-A480B:~$ echo $HOSTTYPE
  x86_64

$IGNOREEOF

在退出之前需要接收的Ctrl+D数量,默认是1(很有意思的一个功能)

$LINENO

脚本的当前行号,在调试时非常有用

$PPID

父进程号

$SECONDS

脚本被执行的时间

  klwang@klwang-A480B:~$ begin=$SECONDS; for i in {1..5}; do \
  sleep 1; echo $SECONDS - $begin | bc; done
  1
  2
  3
  4
  5

$TMOUT

超时时间,如果在 $TMOUT 秒内没有操作,将会触发自动的 logout 行为

$!

最后一个job的进程号

  klwang@klwang-A480B:~$ sleep 10 &
  [1] 2905
  klwang@klwang-A480B:~$ echo $!
  2905
  klwang@klwang-A480B:~$ ps -ef | grep sleep
  klwang    2905  2501  0 16:46 pts/3    00:00:00 sleep 10
  klwang    2907  2501  0 16:46 pts/3    00:00:00 grep --color=auto sleep
    分享到:

本文固定链接: http://klwang.info/bash-you-don-not-konw-internal-variables/ | 数据库|Linux|软件开发

该日志由 klwang 于2013年06月24日发表在 Linux, shell 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 你不知道的bash (内置变量) | 数据库|Linux|软件开发
关键字: , ,
【上一篇】
【下一篇】

你不知道的bash (内置变量):等您坐沙发呢!

发表评论

*
快捷键:Ctrl+Enter