将多行字符串分配给脚本中的变量

将多行字符串分配给脚本中的变量

我想要一个变量,比方说PS,在我的.profile文件中定义具有以下值:

PS1='PWD: ${PWD}
$ '

这样,当我进入$PS终端时,我会得到一个两行提示字符串,第一行显示我的工作目录。我如何在我的.profile文件中定义它?

编辑:据称这是重复的问题根本不一样。我的问题是关于将多行值分配给 shell 脚本中的变量。\n\后面的 Enter 似乎都不起作用。请注意,我写的作业在交互方面效果非常好。事实上,我将其保存在 OneNote 中,并经常将其复制/粘贴到我的 shell 中。但我希望它位于我的.profile文件或另一个脚本中,这样我就可以跳过这一步,并且按原样在脚本中编写它是行不通的。最后,如果有人建议自动更改 PS1,那是可以的,但理想的情况是上面的整个内容都分配给一个变量,这样PS当我输入$PS,时PS1就会被设置。

编辑2:我找到了解决方案。在.profile中:

PS1="PWD: ${PWD}
\$ "

这只会在我运行时更改 PS1 . .profile 这很奇怪,因为我知道.profile在启动时正在以某种方式运行(我尝试回显在运行之前定义的变量.profile并且它们存在;我猜测还有其他一些文件正在运行之后会自动.profile设置PS1为默认的一行),但我想这就是我想要的,因为我想要对我的更改是否有效进行一些控制。如果我希望我的更改有效,我就会运行. .profile,否则我什么也不做。抱歉造成混乱,我正在尝试尽快尝试并更新描述!

答案1

要使用指定值在 .profile 文件中定义 PS 变量,您只需添加以下行:

export PS1="PWD: \${PWD}\n\$ "

相关内容