如何在 csh / tcsh 中检索提示格式字符串

如何在 csh / tcsh 中检索提示格式字符串

我当前的提示格式字符串是由组织提供的外部脚本生成的。我想对其进行一些操作(为字符串添加时间),因为我需要当前的格式字符串。

我可以通过浏览 .cshrc (及其链接脚本)来理解它 - 但如果我可以向 cshell 询问我当前的提示格式字符串,那就容易多了。

您知道如何获取当前 shell 的格式字符串吗?

谢谢

答案1

由于您使用的是您所在公司的计算机,因此请向您的 IT 部门寻求帮助。修改提示可能违反公司政策。如果没有,也许他们可以为您创建自定义提示或更新公司范围内的提示。否则,他们很可能能够帮助您创建自己的自定义提示。

正如评论中提到的,“提示存储在变量$PS1, $PS2, AND 中$PS3”,尽管这可能取决于您忘记提及的操作系统的风格。

答案2

(t)csh 提示变量是$prompt[1],因此您问题的直接答案是:

printf '%s\n' "$prompt"

tcsh(但不是在原来的csh)中,您可以使用%t12h am/pm 格式的时间转义:

% set prompt = "%t - $prompt"
1:53pm - % _

或者%P对于带秒的 24 小时格式:

% set prompt = "$prompt (%P) "
%  (13:55:31) _

您可以在中查看提示转义的完整列表tcsh(1)联机帮助页。

[1]tcsh还具有$prompt2for foreach/while循环和\行延续,以及$prompt3其拼写纠正功能。

相关内容