我需要能够使用 ~/.local/bin/($PATH 的一部分)中的脚本来快速更改提示。
通过在控制台中运行以下命令可以实现所需的结果:
echo PS1='$\ ' > /tmp/ps1 && source /tmp/ps1 && rm /tmp/ps1
但是,当放入脚本中时,它将不再影响运行它的控制台。
. .local/bin/bigfont
有效,但应避免写入脚本的路径(或写入脚本名称以外的任何内容)。
有没有办法使用脚本来做到这一点?如果没有,有没有一种使用 C 的简单方法来解决这个问题?
谢谢!
答案1
有一个折衷方案,它会让它看起来好像你正在使用脚本。
编写一个 Bash 函数:
function miniprompt {
PS1='$ '
~/.local/bin/somescript # or just somescript if it's in $PATH
}
为了确保该功能始终可用,请将其放入~/.bashrc
and中~/.bash_profile
(或者只要~/.bashrc
它被加载~/.bash_profile
即可)。
garyjohn 明确指出,该问题包含一个source
必须使用的错误假设,并澄清说,可以PS1='$ '
直接设置。谢谢!
答案2
function myprompt {
export PS1=<set PS1 appropriately>
}
alias setprompt="PROMPT_COMMAND='myprompt'"
运行 setprompt 应该会设置您的提示。
答案3
您可以做类似的事情...
export PS1="newprompt> "
exec bash
它可以起作用..但是它会用一个新的 bash shell 和一个新的环境替换您当前的 bash shell。