(十四)认识bash shell与shell的变量功能
type(显示出该命令是外部命令还是bash内置的命令)
格式:type [-ta] name
- 不加任何参数时,type显示出name是外部命令还是bash内置的命令
- -t,type将name通过以下文字显示他的意思
- file:标示外部命令
- alias:标示该命令为命令别名所设置的名称
- builtin:表示该命令为bash内置的命令
- -a:在path变量定义的路径中,列出所有含有name的命令,包含alias
1 [root@localhost ~]# type ls 2 ls is aliased to `ls --color=auto' 3 [root@localhost ~]# type -t cat 4 file 5 [root@localhost ~]# type -t chmod 6 file 7 [root@localhost ~]# type -t ls 8 alias 9 [root@localhost ~]# type -a ls 10 ls is aliased to `ls --color=auto' 11 ls is /bin/ls 12 [root@localhost ~]# type logout 13 logout is a shell builtin
shell的变量功能
变量就是以一组文字或符号等,来取代一些设定或者是一串保留的数据
env:显示目前系统中主要的预定义变量内容
set:可以将环境变量和用户自定变量显示出来
格式: echo $变量名
关于环境变量命令介绍
1.echo 显示某个环境变量值 echo $PATH
2.export 设置一个新的环境变量 export HELLO="hello" (可以无引号)
3.env 显示所有环境变量
4.set 显示本地定义的shell变量
5.unset 清除环境变量 unset HELLO
6.readonly 设置只读环境变量 readonly HELLO
定制环境变量
1.显示环境变量HOME
1 [root@localhost ~]#echo $HOME 2 /root
2.设置一个新的环境变量
1 [root@localhost ~]#export cmf="hello" 2 [root@localhost ~]#echo $cmf 3 hello
3.使用env查看所有的环境变量
[root@localhost ~]#env HOSTNAME=localhost.localdomain SELINUX_ROLE_REQUESTED= TERM=vt100 SHELL=/bin/bash ... [root@localhost ~]#env |grep cmf cmf=hello
4.使用set查看本地定义的所有环境变量
1 [root@localhost ~]#set 2 BASH=/bin/bash 3 BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:login_shell:progcomp:promptvars:sourcepath 4 BASH_ALIASES=() 5 BASH_ARGC=() 6 BASH_ARGV=() 7 BASH_CMDS=() 8 ...... 9 [root@localhost ~]#set |grep cmf 10 cmf=hello
5.使用unset命令来清楚环境变量
1 [root@localhost ~]#unset cmf 2 [root@localhost ~]#set |grep cmf 3 用法: grep [选项]... PATTERN [FILE]... 4 试用‘grep --help’来获得更多信息。
PS1提示符的设置
\d:代表日期,格式为星期 月 日
\t:24小时格式显示时间,HH: MM: SS
\A:24小时格式显示时间,HH : MM:
\T:12小时格式显示时间,HH: MM: SS
\H:完整的主机名称
\h:只取主机名称的第一个名字
\u:当前的帐户名
\v:bash版本信息
\w:完整工作目录
\W:只列出最后一个目录
\#:执行的第几个指令
\$:root用户提示符是#,其他用户提示符是$
1 //将提示符修改成当前帐户名,只取主机的第一个名字,日期,列出最后一个目录 2 [root @ localhost ~]#PS1='[\u@\h \W]\$' 3 [root@localhost ~]#
思维导图:



浙公网安备 33010602011771号