gpt4 book ai didi

bash - 在 msys bash 上包含换行符时 PS1 命令替换失败

转载 作者:行者123 更新时间:2023-11-29 08:47:39 26 4
gpt4 key购买 nike

这条命令成功

$ PS1='$(date +%s) $ '1391380852 $

但是,如果我添加换行符,它会失败

$ PS1='$(date +%s)\n$ 'bash: command substitution: line 1: syntax error near unexpected token `)'bash: command substitution: line 1: `date +%s)'

如果我使用反引号就可以了

$ PS1='`date +%s`\n$ '1391381008$

但是backticks are discouraged .那么是什么导致了这个错误呢?

GNU bash, version 4.2.45(6)-release

最佳答案

您可以轻松消除解析歧义,以防止遇到任何此类错误(尽管我自己无法重现):

PS1='$(date +%s)'$'\n$ '

$'\n' 语法解析为文字换行符,而 '\n' 解析为包含两个字符的字符串 \n 转义序列。

有关 $''''(扩展反斜杠转义序列)的区别的更多信息,请参阅 Bash Hackers Wiki .

关于bash - 在 msys bash 上包含换行符时 PS1 命令替换失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21517281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com