问题描述

在我的.bashrc文件中的终端提示定义中,除此之外,我还有以下代码片段:

${debian_chroot:+($debian_chroot)}

这是做什么的,我需要它吗?

最佳解决方案

回答这个问题的重要部分是/etc/bash.bashrc的这个片段:

if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then

debian_chroot=$(cat /etc/debian_chroot)

fi

这意味着如果变量$debian_chroot为空并且文件/etc/debian_chroot存在且可读,则将变量设置为文件的内容。

现在这是为了什么?文件/etc/debian_chroot是你在另一个debian系统中有一个chroot debian系统(ubuntu基于debian)。所以这是为了更好的概述。要区分你是否在chroot。

如果您有另一个系统的chroot,例如在/srv/nfs4/netboot/中,您可以在/srv/nfs4/netboot/etc/debian_chroot中设置此chroot的名称(在我的情况下,它是一个nfs4 pxe netboot驱动器):

user@host:~# echo "netboot" >/srv/nfs4/netboot/etc/debian_chroot

然后当你在里面chroot:

chroot /srv/nfs4/netboot/

您的提示符如下所示:

(netboot)user@host:~#

次佳解决方案

通常,${var:+value}表示:

if $var is defined; then use 'value'; else do nothing

debian_chroot变量在/etc/bash.bashrc文件中定义。如果此文件存在且可读,它将获取/etc/debian_chroot文件的内容。默认情况下,此文件不存在。

有关详细信息,请参阅:

现在,为了更好地了解它到底发生了什么,请在终端中执行以下操作:

radu@Radu:~$ PS1='${var:+($var)}\u@\h:\w\$ '

radu@Radu:~$ var="test"

----

|

------------------

|

V

(test)radu@Radu:~$ var=""

radu@Radu:~$ var="and so on"

(and so on)radu@Radu:~$

第三种解决方案

如果环境变量$debian_chroot存在且不为空,则${debian_chroot:+($debian_chroot)}被($debian_chroot)(即其周围的parens的$debian_chroot的值)替换。

$debian_chroot在/etc/bash.bashrc中设置为/etc/debian_chroot的内容(如果该文件存在(默认情况下不是))并且$debian_chroot还没有值。

例如,${debian_chroot:+($debian_chroot)}通常用于对您的Bash提示进行整形

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

顾名思义,您可以使用此变量通过将etc/debian_chroot放入chroot根文件夹来指示您所在的chroot。

如果你不知道chroot是什么机会你不需要;-)但是你仍然可以滥用它来在你的Bash提示中包含一些其他信息

默认情况下,它不执行任何操作。

参考资料

mysql chroot debian_在我的终端提示中“${debian_chroot:+($debian_chroot)}”有什么作用?...相关推荐

  1. mac 终端提示_有用的终端提示

    mac 终端提示 A while ago I started a thread on Twitter with a few terminal tips. There are lots of comma ...

  2. linux mysql 命令行查询 乱码_mysql命令提示行连接乱码的解决

    解决MySQL命令行无法连接问题错误ERROR1045(28000) 问题现象: 用navicat可以连接数据库 通过命令行mysql -uroot -p 输入密码后提示"ERROR 104 ...

  3. pycharm终端提示无法加载文件 F:\Users\Administrator\PycharmProjects\pythonProject\venv\Scripts\activate.ps1,因为在

    pycharm终端提示如下,该怎么办呢? 首先,在终端输入get-executionpolicy,回车后可以看到Restricted 然后找到windows上的Windows Powershall以管 ...

  4. 改变ubuntu终端显示语言(桌面系统是中文,终端提示是英文)

    一,永久有效: 1.打开终端:     vi .bashrc 2.最后添加: if [ "$TERM"="linux" ] ;then export LANGU ...

  5. 运行mysql-front出现下面的错误提示:The evaluation time of this program has expired!

    运行mysql-front出现下面的错误提示:The evaluation time of this program has expired! The program will run in Lite ...

  6. anybackup mysql_AnyBackup-Linux MySQL 云容灾失败,执行输出提示错误:Master 端未开启 MySQL BinLog,请开启 BinLog 后重新发起任务...

    关键字 MySQL BinLog 适用产品 AnyBackup 6.0.x 问题描述 执行 MySQL 云容灾失败,执行输出提示错误,点击查看详情显示下列错误信息: MySQL 容灾任务出现异常.(错 ...

  7. 去掉ubuntu终端提示音

    去掉ubuntu终端提示音 sudo vim /etc/inputrc 找到#set bell-style none这一行,去掉前面的注释符号.

  8. Win7怎么通过任务管理器查看进程PID标识符MySQL安装时出现端口异常,提示The specified port already in usemysql error:Access deni

    目录 Win7怎么通过任务管理器查看进程PID标识符 MySQL安装时出现端口异常,提示The specified port already in use mysql error:Access den ...

  9. Wampserver集成Mysql更改密码后无法登陆,提示(HY000/1045)解决方案

    Wampserver集成Mysql更改密码后无法登陆,提示(HY000/1045)解决方案 因为需架设php商城Ecshop,所以作者本着放弃小皮(XP)PHP套件,挑战自我转战Wampserver, ...

最新文章

  1. python图片识别-python图像识别
  2. jqMobi + Android 试手
  3. python最大公约数计算_使用Python求解最大公约数的实现方法
  4. 【案例实战】餐饮企业分店财务数据分析系统解决方案:业务需求
  5. Android :RxJava学习笔记之Single、Completable以及Maybe
  6. wince 百度地图懒人包_百度导航车载wince版下载
  7. 针式 PKM 个人知识管理软件 帮助
  8. Vue watch 监听复杂对象变化,oldvalue 和 newValue 一致的解决办法。
  9. 用支付宝如何自己拍证件照?
  10. C语言遍历windows目录文件 并对文件进行读写操作
  11. centOS7.2.1511 bit64位 浏览器不能上网
  12. 别再用浏览器一句句翻译了,华为手机点击这个按钮,一键轻松翻译
  13. Android:国家气象局天气预报接口JSON完全解析
  14. windows平台下VSCode通过跳板机连接服务器
  15. 《Windows环境下32位汇编语言程序设计》 第五章笔记
  16. SRPG游戏开发(六)第三章 绘制地图 - 三 创建自己的SrpgTile
  17. 魔性十足的数学动态图,酷炫!
  18. 【图像识别】基于模板匹配实现蓝色、绿色、黄色车牌识别附matlab代码
  19. 如何判断自己是否适合播音主持,学播音主持的条件
  20. UE5 实现置顶游戏窗口的功能(Windows平台)

热门文章

  1. 化模糊为清晰的图片清晰术:动手尝试修复模糊老照片
  2. PHP如何启动scrapy,python,_新手Scrapy爬虫运行问题,python - phpStudy
  3. vuepress-theme-reco自动生成侧边栏
  4. 数学智力题 武士数独题目_最新智力题大全及答案-各种最新IQ题目推荐-第1595页-33IQ...
  5. Python-TypeError:takes no arguments
  6. 全网最佳,第三方登录系列——苹果登录
  7. 负反馈放大电路中自激振荡消除方法
  8. 专题二 MATLAB矩阵处理
  9. SuperPoint论文笔记
  10. 春夏季更替 超健康养生的饮食搭配标准