BASH脚本基础:环境变量PS3介绍

2023-11-22 19:10

本文主要是介绍BASH脚本基础:环境变量PS3介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
这篇文章介绍一下Bash中的环境变量PS3。

PS3 是什么

PS3 是Prompt String 3的缩写,它是Linux/Unix下的一个用于控制select命令创建的菜单提示信息的环境变量。

select使用介绍

关于select的使用介绍可以参看:

  • https://liumiaocn.blog.csdn.net/article/details/104112272

示例代码

本文使用如下示例代码对PS3的使用进行说明:

liumiaocn:~ liumiao$ cat test-ps3.sh 
#!/bin/shIFS_OLD=$IFS
IFS=/
MENU_ITEMS=("Start Kubernetes"/"Stop Kubernetes"/"Restart Kubernetes"/"Status Kubernetes")
echo "[PS3]: $PS3"
select MENU_ITEM in ${MENU_ITEMS[@]}
doecho "Menu Item Selected: $MENU_ITEM"break
done
IFS=$IFS_OLD
liumiaocn:~ liumiao$ 

代码说明:功能非常简单,模拟显示一下Kubernetes启动、停止、重启以及状态显示的菜单生成。

PS3未设定下的select菜单提示

PS3缺省没有设定时,select菜单等待用户输入的时候会提示#?,比如本文示例代码在PS3未设定时(缺省状态)的设定下执行结果如下所示

liumiaocn:~ liumiao$ sh test-ps3.sh 
[PS3]: 
1) Start Kubernetes    3) Restart Kubernetes
2) Stop Kubernetes     4) Status Kubernetes
#? 4
Menu Item Selected: Status Kubernetes
liumiaocn:~ liumiao$ 

设定PS3修改select菜单提示信息

通过修改PS3可以间接修改select菜单的提示信息,比如我们通过export修改此环境变量的值,然后执行确认结果如下:

liumiaocn:~ liumiao$ export PS3="Please input your choice: >"
liumiaocn:~ liumiao$ sh test-ps3.sh 
[PS3]: Please input your choice: >
1) Start Kubernetes    3) Restart Kubernetes
2) Stop Kubernetes     4) Status Kubernetes
Please input your choice: >3
Menu Item Selected: Restart Kubernetes
liumiaocn:~ liumiao$ 

可以看到PS3的内容替代了缺省的#? ,修改了默认显示的信息,这也是PS3环境变量引入的重要原因。

注意:本文示例代码中使用export环境变量的方式,是为了不修改示例代码进行PS3的使用说明,在实际的使用中直接修改之后使用即可发生变化。

这篇关于BASH脚本基础:环境变量PS3介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/412302

相关文章

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2