相关疑难解决方法(0)

printf中的"%.*s"是什么意思?

我有一个代码片段,其中有一个

printf("%.*s\n")
Run Code Online (Sandbox Code Playgroud)

什么%.*s意思?

c printf format-specifiers

98
推荐指数
4
解决办法
7万
查看次数

带有最后退出代码的Bash提示

所以,我一直在尝试通过bash提示进行自定义,以便它看起来像

[feralin@localhost ~]$ _
Run Code Online (Sandbox Code Playgroud)

与颜色.我设法得到恒定的颜色(每次看到提示时颜色相同)但我希望用户名('feralin')显示为红色,而不是绿色,如果最后一个命令具有非零退出状态.我提出了:

\e[1;33m[$(if [[ $? == 0  ]]; then echo "\e[0;31m"; else echo "\e[0;32m"; fi)\u\e[m@\e[1;34m\h \e[0;35m\W\e[1;33m]$ \e[m
Run Code Online (Sandbox Code Playgroud)

但是,根据我的观察,$(if ...; fi)似乎在.bashrc运行时评估一次,结果在之后永远被替换.这使得名称始终为绿色,即使最后一个退出代码非零(如,echo $?).这是发生了什么?或者我的提示是否只是其他错误?长问题简介,我如何获得使用最后退出代码的提示?

linux bash prompt

57
推荐指数
4
解决办法
3万
查看次数

标签 统计

bash ×1

c ×1

format-specifiers ×1

linux ×1

printf ×1

prompt ×1