我已经搜索了很长一段时间,但是无法找到关于在bash中添加PS1内变量(即更改)变量的帖子或任何信息,每次都会更新发生新提示。在concreto中,我希望提示的宽度跨越整个终端窗口,例如:
7zS2::awesome| --------------------------------------------------------- ~/.config/awesome
这是我到目前为止,省略了易读性的颜色代码:
mytest=$PWD
mynext="$(basename $PWD)"
mylength=$((${#mytest}+${#mynext}))
length=$(($mylength+6))
PS1='7zS2::\W| $(printf "\\u2500%.0s" $(seq $length $(tput cols))) \w\n\$'
每当我
时,它都能很好地发挥作用exec bash
重置提示。
但是,如果没有我重新加载bash,我希望它可以工作。肯定有一种方法可以做到这一点,因为\ W,\ W和喜欢的东西也是唯一的,并且每个提示都会更新。有什么办法容易做到这一点? 谢谢!
7zS2
答案 0 :(得分:0)
试试这个。将您的代码放入一个文件中,我在我的主目录中将其称为gash.sh
,只需稍加修改:将PS1赋值替换为echo
,并将单引号替换为double。
mytest=$PWD
mynext="$(basename $PWD)"
mylength=$((${#mytest}+${#mynext}))
length=$(($mylength+6))
echo "7zS2::\W| $(printf \\u2500%.0s $(seq $length $(tput cols))) \w\n\$"
然后在你的启动文件集PS1中:
PS1='$(~/gash.sh)'