在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ shell and Carriage 關系
別人echo、你也echo,是問echo知多少?
何為 shell?
你要 if 還是 case 呢?
""(雙引號) 與''(單引號) 差在哪?
exec 跟 source 差在哪?
$(())與$()還有${}差在哪?
() 與 {} 差在哪?
shell and Carriage 關系
for what? while 與 until 差在哪?
大于小于號差別?
[^ ] 跟[! ]差在哪? (RE: Regular Expression)
[^ ] 跟[! ]差在哪? (wildcard)
特殊符號差異
&& 與 || 差在哪?
var=value 在 export 前后的差在哪?

shell and Carriage 關系

當你成功登陸一個 shell 終端的文字界面之后,大部分的情形下, 你會在屏幕上看到一個不斷閃爍的方塊或者底線(視不同的版本而別), 我們稱之為游標(cursor). cursor作用就是告訴你接下來你從鍵盤輸入的按鍵所插入的位置, 且每輸入一個鍵,cursor便向右移動一個格子, 如果連續(xù)輸入太多的話,則自動接在下一行輸入。

假如你剛完成登陸,還沒有輸入任何按鍵之前, 你所看到的cursor所在的位置的同一行的左邊部分,我們稱之為提示符(prompt)。

提示符的格式或因不同的版本而各有不同, 在Linux上,只需留意最接近游標的一個提示符號,通常是如下兩者之一:

  • $: 給一般用戶賬號使用;
  • #: 給 root (管理員)賬號使用;

事實上,shell prompt 的意思很簡單: 告訴 shell 使用者,您現(xiàn)在可以輸入命令行了。

我們可以說,使用者只有在得到 shell prompt 才能打命令行, 而cursor是指示鍵盤在命令行的輸入位置,使用者每輸入一個鍵, cursor就往后移動一個格,直到碰到命令行讀進CR(Carriage Return, 由Enter鍵產(chǎn)生)字符為止。 CR的意思也很簡單:

使用者告訴shell:老兄,你可以執(zhí)行的我命令行了。

嚴格來說:

所謂的命令行, 就是在shell promptCR之間所輸入的文字。

(question:為何我們這里堅持使用CR字符而不說Enter按鍵呢?答案在后面的學習中給出)。

不同的命令可以接受的命令的格式各有不同, 一般情況下,一個標準的命令行格式為如下所列:

command-name options argument

若從技術的細節(jié)上來看, shell會依據(jù)IFS(Internal Field Seperator) 將 command line 所輸入的文字給拆解為字段(word). 然后在針對特殊的字符(meta)先做處理,最后在重組整行 command line。

(注意:請務必理解以上兩句的意思,我們?nèi)蘸蟮膶W習中?;氐竭@里思考。)

其中IFS是 shell 預設使用的字段位分隔符號,可以由一個及多個如下按鍵組成:

  • 空白鍵(White Space)
  • 表格鍵(Tab)
  • 回車鍵(Enter)

系統(tǒng)可以接受的命令的名稱(command-name)可以從如下途徑獲得:

  • 確定的路徑所指定的外部命令
  • 命令的別名(alias)
  • shell 內(nèi)建命令(built-in)
  • $PATH 之下的外部命令

每一個命令行均必須包含命令的名稱,這是不能缺少的。