Dans Linux系统中,PS1、PS2、PS3和PS4 se trouvent des variables d'environnement spécifiques, chacune jouant un rôle différent dans le contrôle des invites et des informations sur les invites de menu. CesPS变量在Linuxsystèmes peuvent fournir aux utilisateurs des moyens flexibles de personnaliser et de contrôler l'apparence et le comportement de la ligne de commande, améliorant ainsi l'expérience d'interaction de l'utilisateur avec le système. Remarque : Si vous souhaitez modifier définitivement l'invite pendant une longue période, vous pouvez ajouter la commande permettant de modifier l'invite au fichier $HOME/.bashrc或$HOME/.bash_profile. 1, variable PS1 Il est principalement utilisé pour définir le contrôle shell命令提示符。每当你在终端中输入命令时,所显示的字符串就是由PS1variable. Vous pouvez personnaliser les valeurs des PS1variables en fonction de vos propres préférences et besoins, modifiant ainsi l'apparence et le format de l'invite de commande. La valeur par défaut est : [u@h W]$, ce qui signifie : afficher le répertoire de travail du nom d'hôte de l'utilisateur. Vous pouvez saisir la commande echo $PS1 dans la fenêtre du terminal pour afficher : . [root@iSCSI-server ~]# echo $PS1 [u@h W]$ [root@iSCSI-server ~]# Ce qui précède est expliqué en détail comme suit Personnages signification Remarques [ signifie [ u Représente l'utilisateur actuel root @ 代表@ h signifie nom d'hôte iSCSI-server signifie espace (non affiché) W Représente le nom du répertoire actuel ~Représente le répertoire personnel de l'utilisateur actuel ] représentant] $ Représente un utilisateur privilégié ou un utilisateur ordinaire, un utilisateur ordinaire $+espace, un super utilisateur #+espace PS1Paramètres disponibles pour les variables Paramètres Description d représente la date, le format est la date du mois en semaine H Nom d'hôte complet. h Ne prendre que le prénom de l'hôte t L'heure d'affichage est au format 24 heures, tel que : HH:MM:SS T Affichage de l'heure au format 12 heures A Affichage de l'heure au format 24 heures : HH:MM u Nom du compte de l'utilisateur actuel v Informations sur la version BASH w Nom complet du répertoire de travail. Le répertoire personnel sera remplacé par ~ W Utilisez basename pour obtenir le nom du répertoire de travail, afin que seul le dernier répertoire soit répertorié # Quel ordre a été émis $ Caractère d'invite, si vous êtes root, l'invite est : #, pour les utilisateurs ordinaires, c'est : $ [ Personnage"[" ] Caractère "]" ! Statistiques dynamiques des temps de commande historiques à partir de la ligne de commande Exemple d'utilisation de variables PS1 1. Invite simple [root@iSCSI-server ~]# PS1='u@h:w$ ' root@iSCSI-server:~$ Cette invite affichera le nom d'utilisateur (u)、主机名(h)、当前工作目录(w)和一个美元符号($). Il convient à ceux qui aiment les invites simples et directes. 2.Afficher le chemin complet [root@iSCSI-server ~]# PS1='[u@h w]# ' [root@iSCSI-server ~]# cd /var/log [root@iSCSI-server /var/log]# pwd /var/log [root@iSCSI-server /var/log]# Affiche le chemin complet vers le répertoire de travail actuel (w), ce qui est utile pour identifier rapidement l'emplacement actuel lorsque vous travaillez dans des répertoires profonds. 3. Afficher l'heure et la date [root@iSCSI-server ~]# PS1='[d]u@h w$ ' [三 3月 20]root@iSCSI-server ~$ [root@iSCSI-server ~]# PS1='[t] [u@h w]# ' [09:27:06] [root@iSCSI-server ~]# [09:27:11] [root@iSCSI-server ~]# 或者: [root@iSCSI-server ~]# PS1='(`date +"%H:%M:%S"`)[u@h W]$ ' (09:43:59)[root@iSCSI-server ~]# (09:44:01)[root@iSCSI-server ~]# 4. Invite de couleur [root@iSCSI-server ~]# PS1="[e[33;1m]u[e[31;1m]@[e[33;1m]h [e[36;1m]w[e[34;1m]$ [e[0m]" root@iSCSI-server ~$ root@iSCSI-server ~$ Format du code couleur : **[e[F;Bm]** Où : F représente la couleur de la police, B représente la couleur de fond, les détails sont les suivants : Code de police Code de fond Couleur 30 40 Noir 31 41 Rouge 32 42 Vert 33 43 Jaune 34 44 Bleu 35 45 violet 36 46 Bleu cyan 37 47 Blanc 2、PS2变量 这是第二次提示符,用于交互式的shell中一条命令多行连接时的显示信息。 当你的命令行输入长度超过一行时,系统会使用PS2提示符来继续输入。 这使得用户可以轻松地在多行中输入长命令,提高命令行操作的效率。 一个非常长的命令可以通过在末尾加 使其分行显示 PS2多行命令的默认提示符,默认值是 > #修改提示符由>变为>+ [root@iSCSI-server ~]# echo >+ 1 1 3、PS3变量 这个环境变量用于控制select命令创建的菜单提示信息。 在Linux中,select命令允许用户从一系列选项中选择一个,而PS3变量则负责定义在选择过程中显示的提示符。 通过定制PS3,可以让select命令的菜单提示更符合你的需求。 不使用PS3变量 [root@iSCSI-server ~]# cat myps3.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 运行sh脚本: [root@iSCSI-server ~]# bash myps3.sh 以下是一些选项,请选择您想要的选项: 1) 选项1 2) 选项2 3) 退出 #? 1 您选择了选项1 [root@iSCSI-server ~]# 使用PS3变量 在上面脚本中先定义PS3变量: #!/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@iSCSI-server ~]# bash myps3.sh 以下是一些选项,请选择您想要的选项: 1) 选项1 2) 选项2 3) 退出 请选择一个选项: 1 您选择了选项1 [root@iSCSI-server ~]# 4、PS4变量 set -x用来修改跟踪输出的前缀,这个变量很少用。