set
命令查看当前的所有环境变量,也可以使用export
命令设置或删除环境变量。一些常见的环境变量有:
PATH
:表示系统搜索可执行文件的路径,用冒号分隔多个目录。HOME
:表示当前用户的主目录,用于存放用户的个人文件和配置。SHELL
:表示当前用户使用的shell程序,如/bin/bash
。PS1
:表示shell的提示符,可以自定义显示的内容和格式。LANG
:表示当前用户使用的语言和字符编码,如zh_CN.UTF-8
。./test.sh 100 200
,那么你可以在test.sh
中使用位置参数变量来获取参数的值。位置参数变量的基本语法是:
$0
表示命令或脚本本身,例如./test.sh
。$1
表示第一个参数,例如100
。$2
表示第二个参数,例如200
。$n
表示第n
个参数,如果n
大于9,需要用大括号括起来,例如${10}
表示第10个参数。$*
表示所有的参数,作为一个整体,例如100 200
。$@
表示所有的参数,每个参数独立,例如100
和200
。$#
表示参数的个数,例如2
。$?
表示上一个命令的退出状态,如果为0表示成功,如果非0表示失败。$!
表示最后一个后台运行的进程的进程号,可以用来控制或监视后台进程。$$
表示当前shell的进程号,可以用来生成唯一的临时文件名。$-
表示当前shell的选项,可以用来判断当前shell是否处于交互模式或其他模式。$IFS
表示输入字段分隔符,用来指定命令行参数或文件内容的分隔符,默认为空格、制表符和换行符。可以使用unset
命令来删除变量或函数。unset
命令的基本语法是:
unset [-fv] [变量或函数名称]
-f
选项表示仅删除函数。-v
选项表示仅删除变量。例如,如果你定义了一个变量name="lisi"
,你可以使用unset -v name
来删除它。如果你定义了一个函数hello()
,你可以使用unset -f hello
来删除它。
注意,unset
命令不能够删除具有只读属性的变量或环境变量。如果你试图删除一个只读变量,unset
命令将打印一个错误消息,并返回一个非零的退出代码。