shell脚本程序中的部分常用环境变量和参数变量的说明以及简单shell脚本示例

环境变量

  1. $HOME
    当前用户的家目录

  2. $PATH
    以冒号分隔的用来搜索命令的目录列表

  3. $PS1
    命令提示符,通常是$字符,但在bash中,可以使用一些更复杂的值。例如,字符串[\u@\h\w]$就是一个流行的默认值,它给出用户名/机器名和当前的目录名,当然也包括一个$提示符。

  4. $PS2
    二级提示符,用来表示后续的输入,通常是 > 字符。

  5. $IFS
    输入域分隔符。当shell读取输入时,它给出用来分隔单词的一组字符,他们通常是空格,制表符和换行符。

  6. $0
    shell脚本的名字

  7. $#
    传递给脚本的参数的个数

  8. $$
    shell脚本的进程号,脚本程序通常会用它来生成一个唯一的临时文件,如/temp/tmpfile_$$


参数变量

  1. $1 , $2 , ...
    脚本程序的参数

  2. $*
    在一个变量中列出所有的参数,各个参数之间用环境变量IFS中的第一个字符分隔开。如果IFS被修改了,那么$*将命令行分隔为参数的方式将随之改变。

  3. $@
    它是$*的一种精巧的变体,它不使用IFS环境变量,所以即使IFS为空,参数也不会挤在一起。

shell脚本示例

#!/bin/sh

salutation="Hello"
echo $salutation
set foo bar bam
echo "The program $0 is now running"
echo "The second parameter was $2"
echo "The first parameter was $1"
echo "The parameter list was $*"
echo "The user's home directory is $HOME"

echo "Please enter a new greeting"
read salutation

echo $salutation
echo "The script is complete"
exit 0<span style="color:#cc0000;">
</span>

测试结果


这个脚本程序创建变量并显示它的内容,然后显示各种参数变量以及环境变量$HOME都已经存在并有了适当的值。


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。