shell十三问之2:shell prompt(PS1)与Carriage Return(CR)关系
2015-03-02 19:32
176 查看
shell十三问之2:shell prompt(PS1)与Carriage Return(CR)关系
当你成功登陆一个shell终端的文字界面之后,大部分的情形下,你会在屏幕上看到一个不断闪烁的方块或者底线(视不同的版本而别),
我们称之为
游标(
cursor).
cursor作用就是告诉你接下来你从键盘输入的按键所插入的位置,
且每输入一个键,
cursor便向右移动一个格子,
如果连续输入太多的话,则自动接在下一行输入。
假如你刚完成登陆,还没有输入任何按键之前,
你所看到的
cursor所在的位置的同一行的左边部分,我们称之为
提示符(
prompt)。
提示符的格式或因不同的版本而各有不同,
在Linux上,只需留意最接近
游标的一个提示符号,通常是如下两者之一:
$: 给一般用户账号使用;
#: 给root(管理员)账号使用;
事实上,shell prompt的意思很简单:
告诉shell使用者,您现在可以输入命令行了。
我们可以说,使用者只有在得到shell prompt才能打命令行,
而
cursor是指示键盘在命令行的输入位置,使用者每输入一个键,
cursor就往后移动一个格,直到碰到命令行读进
CR(
Carriage Return, 由
Enter键产生)字符为止。
CR的意思也很简单:
使用者告诉shell:老兄,你可以执行的我命令行了。
严格来说:
所谓的命令行, 就是在
shell prompt与
CR之间所输入的文字。
(**question:为何我们这里坚持使用
CR字符而不说
Enter按键呢?
答案在后面的学习中给出**)。
不同的命令可以接受的命令的格式各有不同,
一般情况下,一个标准的命令行格式为如下所列:
command-name options argument
若从技术的细节上来看,
shell会依据
IFS(
Internal Field Seperator) 将 command line
所输入的文字给拆解为
字段(
word).
然后在针对特殊的字符(meta)先做处理,最后在重组整行command line。
(**注意:请务必理解以上两句的意思,我们日后的学习中常回到这里思考**。)
其中
IFS是shell预设使用的字段位分隔符号,可以由一个及多个如下按键组成:
空白键(White Space)
表格键(Tab)
回车键(Enter)
系统可以接受的命令的名称(command-name)可以从如下途径获得:
确定的路径所指定的外部命令
命令的别名(alias)
shell内建命令(built-in)
$PATH之下的外部命令
每一个命令行均必须包含命令的名称,这是不能缺少的。
original link: https://github.com/wzb56/13_questions_of_shell
相关文章推荐
- shell prompt(PS1)与Carriage Return(CR)关系(转自:shell十三问)
- Shell十三问之二:shell prompt(PS1) 与Carriage Return(CR) 的关系
- shell十三问-2) shell prompt(PS1) 与 Carriage Return(CR) 的关系
- shell 13问(2) shell prompt(PS1) 與 Carriage Return(CR) 的關係?
- SHELL十三问之二:shell prompt(PS1) 与 Carriage Return(CR)
- Shell判断字符串包含关系的几种方法
- Crontab内环境变量与Shell环境变量的关系及解决问题的办法
- nohup Execute Commands After You Exit From a Shell Prompt
- SHELL十三问之一:什么是shell?
- Linux下SHELL的PS1变量简介
- Chapter 5: PS1, PS2, PS3, PS4 and PROMPT_COMMAND __Linux 101 Hacks
- shell下判断两个字符串是否有包含关系
- 小符号反映大问题,Shell中下划线_与变量的关系。
- Ubuntu设置Redhat风格的SHELL提示符PS1属性
- shell与bash有什么关系?
- shell中各种比较关系
- (2)再说管道与shell脚本执行关系
- 什么是shell? bash和shell有什么关系?
- 话题 linux bash 与 shell 关系
- 鸟哥SHELL的PS1变量