我的家乡是写一个shell。而且我必须使用$PS2

但是当我写这样的代码时:

char *ENV_ps2;
ENV_ps2 = getenv("PS2");

我刚刚发现ENV_ps2指向(null)

如何在程序中获取$PS2

最佳答案

PS1PS2 shell变量不会导出,因此无法从子进程中访问。您可以使用简单的脚本对此进行测试:

$ cat /tmp/pstest.sh
#!/bin/sh

echo PS1=$PS1
echo PS2=$PS2


$ /tmp/pstest.sh
PS1=
PS2=

10-08 19:40