1、shell中的字符串连接方式
test=test111 test=$test""33 echo test
2、shell中的数值,变量赋值方式
count=1 count=$[$count + 1] echo $count
1、PS1/PS2/PS3/PS4环境变量的作用
在Linux系统中,PS1、PS2、PS3和PS4是特定的环境变量,它们各自在控制提示符和菜单提示信息方面发挥着不同的作用,这些PS变量在Linux系统中为用户提供了灵活的方式来定制和控制命令行的外观和行为,从而提高了用户与系统的交互体验。
注意:如果要长期永久性修改提示符,可以将修改提示符的命令添加到$Home/.bashrc或$Home/.bash_profile文件中
(1)PS1变量
主要用于设置Shell命令提示符。每当你在终端中输入命令时,所显示的字符串就是由PS1变量控制的。
可以根据自己的喜好和需要,自定义PS1变量的值,从而改变命令提示符的外观和格式。
其默认值为:[\u@\h \W]$,其表示:显示用户主机名称工作目录,可以在终端窗口输入;因为添加了颜色,所以显示的是设置颜色后的内容。
--PS1变量详解
--PS1变量可用参数
--彩色提示符
(2)PS2变量
这是第二次提示符,用于交互式的Shell中一条命令多行连接时的显示信息。当你的命令行输入长度超过一行时,系统会使用PS2提示符来继续输入。这使得用户可以轻松地在多行中输入长命令,提高命令行操作的效率。
一个非常长的命令可以通过在末尾加“ \ ”使其分行显示
PS2多行命令的默认提示符,默认值是>
(3)PS3变量
这个环境变量用于控制select命令创建的菜单提示信息。在Linux中,select命令允许用户从一系列选项中选择一个,而PS3变量则负责定义在选择过程中显示的提示符。通过定制PS3,可以让selec命令的菜单提示更符合需求。
--不使用PS3变量
[root@localhost ~]#vim ps3.sh [root@localhost ~]#cat ps3.sh #!/bin/bash echo "以下是一些选项,请选择您想要的选项:" select option in "选项1" "选项2" "退出"; do case $option in "选项1") echo "您选择了选项1" break ;; "选项2") echo "您选择了选项2" break ;; "退出") echo "退出脚本" exit 0 ;; *) echo "无效的选择,请重新选择" ;; esac done [root@localhost ~]#bash ps3.sh 以下是一些选项,请选择您想要的选项: 1) 选项1 2) 选项2 3) 退出 #? 1 您选择了选项1 [root@localhost ~]#bash ps3.sh 以下是一些选项,请选择您想要的选项: 1) 选项1 2) 选项2 3) 退出 #? 2 您选择了选项2 [root@localhost ~]#bash ps3.sh 以下是一些选项,请选择您想要的选项: 1) 选项1 2) 选项2 3) 退出 #? 3 退出脚本
--使用PS3变量
[root@localhost ~]#vim ps3.sh [root@localhost ~]#cat ps3.sh #!/bin/bash # 设置PS3变量以自定义select命令的提示 PS3="请做出选择: " echo "以下是一些选项,请选择您想要的选项:" select option in "选项1" "选项2" "退出"; do case $option in "选项1") echo "您选择了选项1" break ;; "选项2") echo "您选择了选项2" break ;; "退出") echo "退出脚本" exit 0 ;; *) echo "无效的选择,请重新选择" ;; esac done [root@localhost ~]#bash ps3.sh 以下是一些选项,请选择您想要的选项: 1) 选项1 2) 选项2 3) 退出 请做出选择: 1 您选择了选项1 [root@localhost ~]# [root@localhost ~]#bash ps3.sh 以下是一些选项,请选择您想要的选项: 1) 选项1 2) 选项2 3) 退出 请做出选择: 2 您选择了选项2 [root@localhost ~]#bash ps3.sh 以下是一些选项,请选择您想要的选项: 1) 选项1 2) 选项2 3) 退出 请做出选择: 3 退出脚本
(4)PS4变量
set -x用来修改跟踪输出的前缀,这个变量很少用
[root@localhost etc]#cd /etc/sysconfig/network-scripts/ + cd /etc/sysconfig/network-scripts/ ++ printf '\033]0;%s@%s:%s\007' root localhost /etc/sysconfig/network-scripts
2、shell