专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>shell问问>

二问:shell prompt(PS1)与Carriage Return(CR)的关系

百度收藏 QQ搜藏

    当你成功登录进一个文字界面之后,大部分情形下,你会在屏幕上看到一个不断闪烁的方块或底线(视不同版本而异),我们称之为"游标"(coursor)。游标的作用就是告诉你接下来你从键盘输入的按键所插入的位置,且每输入一键游标便向右边移动一个格子,若连续输入太多的话,则自动接在下一行输入。
    假如你刚完成登录还没输入任何按键之前,你所看到的游标所在位置的同一行的左边部分,我们称之为"提示符号"(prompt)。提示符号的格式或因不同系统版本而各有不同,在Linux上,只需留意最接近游标的一个可见的提示符号,通常是如下两者之一:
   $:给一般使用者帐号使用
   #:给 root (管理员)帐号使用
    事实上,shell prompt的意思很简单:
* 是shell告诉使用者:您现在可以输入命令行了。
   我们可以说,使用者只有在得到 shell prompt 才能打命令行,而cursor是指示键盘在命令行所输入的位置,使用者每输入一个键,cursor 就往后移动一格,直到碰到命令行读进CR(Carriage Return,由 Enter键产生)字符为止。
    CR 的意思也很简单:
* 是使用者告诉shell:老兄你可以执行我的命令行了。
    严格来说:
* 所谓的命令行,就是在shell prompt与CR字符之间所输入的文字。
(思考:为何我们这里坚持使用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)
     * 自定功能(function)
     * shell 内建命令(built-in)
     * $PATH 之下的外部命令
    每一个命令行均必需含用命令名称,这是不能缺少的。

上一篇:一问:为何叫做shell 下一篇:三问:别人echo,你也echo,echo知多少

power by soyo123 2007-2008