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, ...
最新文章
- simple c语言,C语言——指针(simple).ppt
- Spinnaker:云原生多云环境持续部署的未来这样玩!
- arm linux 64位,微软准备让Linux作为64位ARM Hyper-V客户机运行
- 这个用Java写的开源音乐播放器,我粉了
- c语言选课系统课程设计,用C语言写一个 学生选课系统
- 工业用微型计算机笔记(14)-指令系统(9)
- 编写一个项目开发文档
- 腾云驾雾了解Windows10和微软私有云
- html5 css 字体加粗,HTML和CSS实现字体加粗的三种方法
- 微信小程序各种弹窗操作
- 微调电位器命名规则_电位器
- Hélène Rollès (伊梦莲) 六张专辑收藏 by Emerald 绿色学院 - Green Institute
- javaweb——jsp(jsp的本质是什么、jsp九大内置对象、四个域对象、jsp的主要作用)
- 聊聊前端开发日常的协作工具(全)
- CF115B Lawnmower
- 软件测试之linux——自动化
- 记录video-js出现的一些异常
- Excel插件获取单元格批注以及设置批注
- 全国高校计算机能力挑战赛C语言编程题 第四题
- 做好5步操作,轻松写出一篇价值10万的软文