SHELL十三问之二:shell prompt(PS1) 与 Carriage Return(CR)

当你成功登录进一个文字界面之后,大部份情形下,你会在荧幕上看到一个不断闪烁的方块或底线(视不同版本而别),我们称之为*游标*(coursor)游标的作用就是告诉你接下来你从键盘输入的按键所插入的位置,且每输入一键游标便向右边移动一个格子,若连续输入太多的话,则自动接在下一行输入。BSD爱好者乐园$XfPF0M

假如你刚完成登录还没输入任何按键之前,你所看到的游标所在位置的同一行的左边部份,我们称之为*提示符号*(prompt)。提示符号的格式或因不同系统版本而各有不同,

I y4o~sm'P1

FreeBSD,只需留意最接近游标的一个可见的提示符号,通常是如下两者之一:
9O3j M];^1
$:给一般使用者帐号使用BSD爱好者乐园nE[u3c%Y }"V
#:给root (管理员)帐号使用

P`@ XT.K U1

 BSD爱好者乐园 B0P C6O�pEQ�p5@

事实上,shell prompt的意思很简单:
[p^;E-r1^1   
*shell告诉使用者:您现在可以输入命令行了。我们可以说,使用者只有在得到shell prompt才能打命令行,而cursor是指示键盘在命令行所输入的位置,使用者每输入一个键,cursor就往后移动一格,直到碰到命令行读进CR(Carriage Return,由Enter键产生)字符为止。BSD爱好者乐园7["f$M7b/j
CR的意思也很简单:BSD爱好者乐园S ]g6vo1D
   
*是使用者告诉shell:老兄你可以执行我的命令行了。严格来说:
yg1_N ME.M`1
   *所谓的命令行,就是在shell promptCR字符之间所输入的文字。(思考:为何我们这里坚持使用CR字符而不说Enter键呢?答案在后面的学习中揭晓。)BSD爱好者乐园+TYf.f2]8C,[){7RY

 

I!Qode(^k�i$Q1

不同的命令可接受的命令行格式或有不同,一般情况下,一个标准的命令行格式为如下所列command-name options argumentBSD爱好者乐园/N ` pZ+Z9b]t

若从技术细节来看,shell会依据IFS(Internal Field Seperator)command line所输入的文字给拆解为"字段"(word)。然后再针对特殊字符(meta)先作处理,最后再重组整行command line

5{(e.P(y x9X_b R#d#?1

 BSD爱好者乐园u Fb;_8B5R

其中的IFSshell预设使用的字段分隔符,可以由一个及多个如下按键组成:BSD爱好者乐园^ I%a/d;|B
*空格键(White Space)
nW s7V/|D/1
*表格键(Tab)
'i(JnG,U/Jn2w m1
*回车键(Enter)BSD爱好者乐园:o�uB }2T&kY�j1G]

BSD爱好者乐园&duf4t;T&gA
系统可接受的命令名称(command-name)可以从如下途径获得:
G&l/x.] I*eP1
*明确路径所指定的外部命令BSD爱好者乐园*cv'{ go
*命令别名(alias)
3s-/wWP)s1
*自定义功能(function)
-}(t�YXj Vn3a%N.yTB1
* shell内建命令(built-in)
*N*oy!bNlb/1
* $PATH之下的外部命令BSD爱好者乐园2ZNX t1Ad4vz

每一个命令行均必须含有命令名称,这是不能缺少的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值