1
chunyang 2015-01-28 12:45:17 +08:00
通过设置环境变量 PS1, PS2, PS3, PS4,`man bash` 中也有解释:
> PS1 The value of this parameter is expanded (see PROMPTING below) and used as the primary prompt string. The default value is ``\s-\v\$ ''. |
2
superbear 2015-01-28 12:46:54 +08:00
可通过配置环境变量PS1来实现,
具体可看这篇文章[Linux下PS1、PS2、PS3、PS4使用详解](os.51cto.com/art/201205/334954.htm) |
3
noanti OP |
4
lululau 2015-01-28 13:06:59 +08:00
大概是下面这样?
print(expand-ps1(value-of-ps1)) while (cmd = stdin.read-line()) { do-expansions-and-substitutions fork and exec cmd print(expand-ps1(value-of-ps1)) } |
5
chunyang 2015-01-28 13:22:23 +08:00
> root@ubuntu:
> 这不是写到标准输出的,是怎么显示出来的呢? 写到 STDOUT 也”能“显示出来了,至于标准 I/O 是如何工作的,可能涉及到文件系统的知识,我不太了解。 |
7
zealic 2015-01-28 13:53:36 +08:00
@sNullp Shell 程序一般都会申请一个 tty/pts,往这个设备里面写入。
具体可以看 《Unix 高级编程》关于 tty 那部分。 |
10
shoumu 2015-01-28 17:56:19 +08:00
我记得我们实现shell的时候就是直接写到stdout的,看了楼上的,学习了
|