tft每日頭條

 > 生活

 > linux中shell它的作用是什麼

linux中shell它的作用是什麼

生活 更新时间:2024-07-23 08:15:03

啟動終端模拟包或者從 Linux 控制台登錄後,便可以看到 Shell 提示符。提示符是通往 Shell 的大門,是輸入 Shell 命令的地方。

對于普通用戶,Base shell 默認的提示符是美元符号$;對于超級用戶(root 用戶),Bash Shell 默認的提示符是井号#。該符号表示 Shell 等待輸入命令。

linux中shell它的作用是什麼(LinuxShell提示符)1

不同的 Linux 發行版使用的提示符格式不同。例如在 CentOS 中,默認的提示符格式為:

[pretech@localhost ~]$

這種格式包含了以下三個方面的信息:

  • 啟動 Shell 的用戶名,也即 pretech;
  • 本地主機名稱,也即 localhost;
  • 當前目錄,波浪号~是主目錄的簡寫表示法。

Shell 通過PS1和PS2兩個環境變量來控制提示符格式:

  1. PS1 控制最外層命令行的提示符格式。
  2. PS2 控制第二層命令行的提示符格式。

在 Shell 中初次輸入命令,使用的是 PS1 指定的提示符格式;如果輸入一個命令後還需要輸入附加信息,Shell 就使用 PS2 指定的提示符格式。請看下面的例子:

[pretech@localhost ~]$ echo "flow pretech study shell" flow pretech study shell [pretech@localhost ~]$ echo "so easy" so easy [pretech@localhost ~]$ echo " > yan > chang > sheng > " yan chang sheng [pretech@localhost ~]$

echo 是一個輸出命令,可以用來輸出數字、變量、字符串等;本例中,我們使用 echo 來輸出字符串。

字符串是一組由" "包圍起來的字符序列,echo 将第一個"作為字符串的開端,将第二個"作為字符串的結尾。此處的字符串就可以看做 echo 命令的附加信息。

本例中,前兩次使用 echo 命令時都是在後面緊跟字符串,一行之内輸入了完整的附加信息。第三次使用 echo 時,将字符串分成多行,echo 遇到第一個"認為是不完整的附加信息,所以會繼續等待用戶輸入,直到遇見第二個"。輸入的附加信息就是第二層命令,所以使用>作為提示符。

要顯示提示符的當前格式,可以使用 echo 輸出 PS1 和 PS2:

[pretech@localhost ~]$ echo $PS1 [\u@\h \W]\$ [pretech@localhost ~]$ echo $PS2 > [pretech@localhost ~]$

Shell 使用以\為前導的特殊字符來表示命令提示符中包含的要素,這使得 PS1 和 PS2 的格式看起來可能有點奇怪。下表展示了可以在 PS1 和 PS2 中使用的特殊字符。

linux中shell它的作用是什麼(LinuxShell提示符)2

注意,所有的特殊字符均以反斜杠\開頭,目的是與普通字符區分開來。您可以在命令提示符中使用以上任何特殊字符的組合。

我們可以通過修改 PS1 變量來修改提示符格式,例如:

純文本複制 [mozhiyan@localhost ~]$ PS1="[\t][\u]\$ " [17:27:34][mozhiyan]$

新的 Shell 提示符現在可以顯示當前的時間和用戶名。不過這個新定義的 PS1 變量隻在當前 Shell 會話期間有效,再次啟動 Shell 時将重新使用默認的提示符格式。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved