相关疑难解决方法(0)

如何在PS1中设置条件换行符?

我试图设置,PS1以便它在登录后立即打印出来,但之后会换行.

假设export PS1="\h:\W \u\$ ",第一次(即登录后)你得到:

hostname:~ username$ 
Run Code Online (Sandbox Code Playgroud)

我一直在尝试像我这样的东西~/.bashrc:

function __ps1_newline_login {
  if [[ -n "${PS1_NEWLINE_LOGIN-}" ]]; then
    PS1_NEWLINE_LOGIN=true
  else
    printf '\n'
  fi
}

export PS1="\$(__ps1_newline_login)\h:\W \u\$ “
Run Code Online (Sandbox Code Playgroud)

期待得到:

# <empty line>
hostname:~ username$ 
Run Code Online (Sandbox Code Playgroud)

从一开始就有一个完整的例子:

hostname:~ username$ ls `# notice: no empty line desired above!`
Desktop      Documents

hostname:~ username$ 
Run Code Online (Sandbox Code Playgroud)

bash shell ps1

15
推荐指数
2
解决办法
4655
查看次数

标签 统计

bash ×1

ps1 ×1

shell ×1