In Linux系统中,PS1、PS2、PS3和PS4은 특정 환경 변수로, 각각 프롬프트와 메뉴 프롬프트 정보를 제어하는 데 서로 다른 역할을 합니다. 이러한PS变量在Linux 시스템은 사용자에게 명령줄의 모양과 동작을 사용자 정의하고 제어할 수 있는 유연한 방법을 제공하여 시스템과의 사용자 상호 작용 경험을 향상시킵니다. 참고: 오랫동안 프롬프트를 영구적으로 수정하려면 $HOME/.bashrc或$HOME/.bash_profile 파일에 프롬프트를 수정하는 명령을 추가하면 됩니다. 1, PS1 변수 주로 shell命令提示符。每当你在终端中输入命令时,所显示的字符串就是由PS1변수 제어를 설정하는 데 사용됩니다. 자신의 선호도와 필요에 따라 PS1변수의 값을 사용자 정의하여 명령 프롬프트의 모양과 형식을 변경할 수 있습니다. 기본값은 [u@h W]$입니다. 즉, 사용자의 호스트 이름 작업 디렉터리를 표시합니다. 터미널 창에 echo $PS1 명령을 입력하면 다음을 볼 수 있습니다. 으아악 위 내용을 자세히 설명하면 다음과 같습니다 캐릭터 의미 비고 [ 은 [을 의미합니다. 너 현재 사용자를 나타냅니다 root @ 代表@ 아 은 호스트 이름을 의미합니다. iSCSI-server 공백을 나타냅니다(표시되지 않음) W 현재 디렉터리의 이름을 나타냅니다 ~현재 사용자의 홈 디렉터리를 나타냅니다 ] 대표] $ 특권 사용자 또는 일반 사용자, 일반 사용자 $+space, 슈퍼 사용자 #+space를 나타냅니다 PS1변수에 사용 가능한 매개변수 매개변수 설명 d 는 날짜를 나타내며, 형식은 평일 월 날짜입니다. H 전체 호스트 이름. 아 호스트의 이름만 사용하세요 t 표시 시간은 HH:MM:SS와 같이 24시간 형식입니다. 티 12시간 형식으로 시간 표시 아 표시되는 시간은 24시간 형식입니다: HH:MM 너 현재 사용자의 계정 이름 v BASH 버전 정보 우 전체 작업 디렉터리 이름. 홈 디렉토리는 ~로 대체됩니다. W basename을 사용하여 작업 디렉터리 이름을 가져오면 마지막 디렉터리만 나열됩니다 # 어떤 명령이 내려졌나요 $ 프롬프트 문자, 루트인 경우 프롬프트는 #, 일반 사용자의 경우 $ [ 캐릭터"[" ] 문자 "]" ! 명령줄에서 과거 명령 시간에 대한 동적 통계 PS1 변수 사용 예시 1. 간단한 프롬프트 으아악 이 프롬프트에는 사용자 이름(u)、主机名(h)、当前工作目录(w)和一个美元符号($)이 표시됩니다. 간단하고 직접적인 메시지를 좋아하는 사람들에게 적합합니다. 2.전체 경로 표시 으아악 현재 작업 디렉터리(w)에 대한 전체 경로를 표시합니다. 이는 깊은 디렉터리에서 작업할 때 현재 위치를 빠르게 식별하는 데 유용합니다. 3. 시간과 날짜 표시 으아악 4. 컬러 프롬프트 으아악 색상 코드 형식: **[e[F;Bm]** 여기서: F는 글꼴 색상을 나타내고, B는 배경색을 나타내며 세부 사항은 다음과 같습니다. 글꼴 코드 배경 코드 색상 30 40 블랙 31 41 빨간색 32 42 그린 33 43 노란색 34 44 블루 35 45 보라색 36 46 시안블루 37 47 화이트 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用来修改跟踪输出的前缀,这个变量很少用。