Linux和Android的Shell的介紹
一、什么是shell
shell是一個命令解釋器,提供用戶和機器之間的交互。每次我們登錄系統后,出現的界面就是shell,相當於我們在界面輸入命令,shell把我們輸入的內容轉換成系統能夠理解的內容傳遞給系統去執行。shell支持特定的語法,有點像c語言,支持邏輯判斷,if while語句。
在計算機科學中,Shell俗稱殼(用來區別於核),是指“為使用者提供操作界面”的軟件(命令解析器)。它類似於DOS下的command.com和后來的cmd.exe。它接收用戶命令,然后調用相應的應用程序。
同時它又是一種程序設計語言。作為命令語言,它交互式解釋和執行用戶輸入的命令或者自動地解釋和執行預先設定好的一連串的命令;作為程序設計語言,它定義了各種變量和參數,並提供了許多在高級語言中才具有的控制結構,包括循環和分支。
一:圖形界面shell(Graphical User Interface shell 即 GUI shell)
例如:應用最為廣泛的 Windows Explorer (微軟的windows系列操作系統),還有也包括廣為人知的 Linux shell,其中
linux shell 包括 X window manager (BlackBox和FluxBox),以及功能更強大的CDE、GNOME、KDE、 XFCE。
二:命令行式shell(Command Line Interface shell ,即CLI shell)
例如:
bash / sh / ksh / csh(Unix/linux 系統)
(
MS-DOS系統)
cmd.exe/ 命令提示字符(
Windows NT 系統)
Windows PowerShell(支持 .NET Framework 技術的 Windows NT 系統)
Shell基本上是一個命令
解釋器,類似於
DOS下的command。它接收用戶命令(如ls等),然后調用相應的應用程序。較為通用的shell有標准的Bourne shell (sh)和C shell (csh)。
交互式shell和非交互式shell
交互式模式就是shell等待你的輸入,並且執行你提交的命令。這種模式被稱作交互式是因為shell與用戶進行交互。這種模式也是大多數用戶非常熟悉的:登錄、執行一些命令、簽退。當你簽退后,shell也終止了。
shell也可以運行在另外一種模式:非交互式模式。在這種模式下,shell不與你進行交互,而是讀取存放在文件中的命令,並且執行它們。當它讀到文件的結尾,shell也就終止了。