mysql chroot debian_在我的终端提示中“${debian_chroot:+($debian_chroot)}”有什么作用?...
问题描述
在我的.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)}”有什么作用?...相关推荐
- mac 终端提示_有用的终端提示
mac 终端提示 A while ago I started a thread on Twitter with a few terminal tips. There are lots of comma ...
- linux mysql 命令行查询 乱码_mysql命令提示行连接乱码的解决
解决MySQL命令行无法连接问题错误ERROR1045(28000) 问题现象: 用navicat可以连接数据库 通过命令行mysql -uroot -p 输入密码后提示"ERROR 104 ...
- pycharm终端提示无法加载文件 F:\Users\Administrator\PycharmProjects\pythonProject\venv\Scripts\activate.ps1,因为在
pycharm终端提示如下,该怎么办呢? 首先,在终端输入get-executionpolicy,回车后可以看到Restricted 然后找到windows上的Windows Powershall以管 ...
- 改变ubuntu终端显示语言(桌面系统是中文,终端提示是英文)
一,永久有效: 1.打开终端: vi .bashrc 2.最后添加: if [ "$TERM"="linux" ] ;then export LANGU ...
- 运行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 ...
- anybackup mysql_AnyBackup-Linux MySQL 云容灾失败,执行输出提示错误:Master 端未开启 MySQL BinLog,请开启 BinLog 后重新发起任务...
关键字 MySQL BinLog 适用产品 AnyBackup 6.0.x 问题描述 执行 MySQL 云容灾失败,执行输出提示错误,点击查看详情显示下列错误信息: MySQL 容灾任务出现异常.(错 ...
- 去掉ubuntu终端提示音
去掉ubuntu终端提示音 sudo vim /etc/inputrc 找到#set bell-style none这一行,去掉前面的注释符号.
- 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 ...
- Wampserver集成Mysql更改密码后无法登陆,提示(HY000/1045)解决方案
Wampserver集成Mysql更改密码后无法登陆,提示(HY000/1045)解决方案 因为需架设php商城Ecshop,所以作者本着放弃小皮(XP)PHP套件,挑战自我转战Wampserver, ...
最新文章
- python图片识别-python图像识别
- jqMobi + Android 试手
- python最大公约数计算_使用Python求解最大公约数的实现方法
- 【案例实战】餐饮企业分店财务数据分析系统解决方案:业务需求
- Android :RxJava学习笔记之Single、Completable以及Maybe
- wince 百度地图懒人包_百度导航车载wince版下载
- 针式 PKM 个人知识管理软件 帮助
- Vue watch 监听复杂对象变化,oldvalue 和 newValue 一致的解决办法。
- 用支付宝如何自己拍证件照?
- C语言遍历windows目录文件 并对文件进行读写操作
- centOS7.2.1511 bit64位 浏览器不能上网
- 别再用浏览器一句句翻译了,华为手机点击这个按钮,一键轻松翻译
- Android:国家气象局天气预报接口JSON完全解析
- windows平台下VSCode通过跳板机连接服务器
- 《Windows环境下32位汇编语言程序设计》 第五章笔记
- SRPG游戏开发(六)第三章 绘制地图 - 三 创建自己的SrpgTile
- 魔性十足的数学动态图,酷炫!
- 【图像识别】基于模板匹配实现蓝色、绿色、黄色车牌识别附matlab代码
- 如何判断自己是否适合播音主持,学播音主持的条件
- UE5 实现置顶游戏窗口的功能(Windows平台)
热门文章
- 化模糊为清晰的图片清晰术:动手尝试修复模糊老照片
- PHP如何启动scrapy,python,_新手Scrapy爬虫运行问题,python - phpStudy
- vuepress-theme-reco自动生成侧边栏
- 数学智力题 武士数独题目_最新智力题大全及答案-各种最新IQ题目推荐-第1595页-33IQ...
- Python-TypeError:takes no arguments
- 全网最佳,第三方登录系列——苹果登录
- 负反馈放大电路中自激振荡消除方法
- 专题二 MATLAB矩阵处理
- SuperPoint论文笔记
- 春夏季更替 超健康养生的饮食搭配标准