如何使用shopt定製bashshell

如果您使用shopt微調bashshell的行為,您可以控制超過50個設定。我們將向您展示如何按照您喜歡的方式定製您的Linux系統。...

如果您使用shopt微調bashshell的行為,您可以控制超過50個設定。我們將向您展示如何按照您喜歡的方式定製您的Linux系統。

shopt內建

shopt內建是bashshell所有版本的一部分,因此不需要安裝任何東西。多年來,shopt提供的選項數量穩步增加。所以,Bash的版本越舊,shopt選項的列表就越短。

如果您的機器上似乎有什麼不工作,請檢查Bash的手冊頁條目,並驗證您的shopt版本中是否提供了該選項。

我們提供以下所有購物選擇。我們還介紹瞭如何使用它,並分享了一些例子。在那裡,您可以檢視Bash手冊頁或gnubash參考手冊,看看這些選項聽起來是否有用或吸引人。

一些shopt選項在預設情況下是啟用的,並且是Bash預設行為的一部分。您可以啟用shopt選項作為Bash的短期更改。當您關閉shell時,它將恢復為預設行為。

但是,如果希望在每次啟動bashshell時都可以使用修改後的行為,可以將更改永久化。

shopt選項

有53個shopt選項。如果在沒有任何選項的情況下使用shopt命令,它會列出這些選項。如果我們透過wc命令輸出,它將為我們計算行、字和字元。因為每個shopt選項都在自己的行上,所以行數就是選項數。

我們鍵入以下內容:

shopt | wc

如何使用shopt定製bashshell

要檢視所有選項,可以透過column命令將輸出管道化,以列形式顯示選項名稱,也可以將其管道化為較少的列。

我們鍵入以下內容:

shopt | column

如何使用shopt定製bashshell

在linux手冊中查詢shopt

討論shopt及其選項的部分在Linux手冊的Bash部分。Bash段超過6000行。你可以透過大量的滾動找到shopt的描述,也可以在手冊中搜索它。

為此,請開啟Bash部分的手冊:

man bash

如何使用shopt定製bashshell

在手冊中,按/開始搜尋。鍵入以下內容,然後按Enter鍵:

assoc_expand_once

如何使用shopt定製bashshell

shoptoption部分的開頭將出現在man視窗中。

如何使用shopt定製bashshell

相關:如何使用Linux的man命令:隱藏的祕密和基礎

設定和取消設定選項

要設定和取消設定shopt選項,請使用以下命令:

  • -s:設定或啟用。
  • -u:取消設定或禁用。

因為有些選項是預設啟用的,所以檢查哪些選項是啟用的也很方便。可以使用-s和-u選項,而不使用選項名。這會導致shopt列出開啟和關閉的選項。

鍵入以下內容:

shopt -s

如何使用shopt定製bashshell

shopt -u | column

如何使用shopt定製bashshell

您可以在不使用-s或-u命令的情況下使用shopt選項來檢視每個選項的開啟或關閉狀態。

例如,我們可以鍵入以下內容來檢查histverify選項的設定:

shopt histverify

我們可以鍵入以下內容將其設定為開啟:

shopt -s histverify

然後,我們可以鍵入以下內容再次檢查:

shopt histverify

如何使用shopt定製bashshell

histverify選項更改history命令的一個方面的操作方式。通常,如果您要求歷史透過編號引用命令來重複該命令,例如!245,從命令歷史中檢索命令並立即執行。

如果希望檢視命令以確保它是您期望的命令,並對其進行編輯(如果需要),請鍵入以下命令以將shopt histverify選項設定為啟用:

!245

如何使用shopt定製bashshell

命令將被檢索並顯示在命令列上。您可以透過按Enter鍵刪除、編輯或執行它。

相關:如何在Linux上使用history命令

autocd選項

在autocd選項設定為on的情況下,如果在命令列中鍵入目錄名並按Enter鍵,它將被視為前面鍵入了cd。

我們鍵入以下命令以開啟autocd選項:

shopt -s autocd

然後,鍵入目錄名:

Documents

如何使用shopt定製bashshell

cdspell選項

當cdspell選項開啟時,Bash將自動更正目錄名中的簡單拼寫錯誤和打字錯誤。

我們鍵入以下內容來設定cdspell選項:

shopt -s cdspell

要嘗試更改為小寫的目錄,該目錄應具有大寫字母首字母,請鍵入以下內容:

cd documents

然後,我們可以鍵入以下內容來嘗試在目錄名中新增一個額外的“t”的目錄名:

cd ../Picttures

如何使用shopt定製bashshell

Bash將更改為每個目錄,而不考慮拼寫錯誤。

xpg\u echo選項

當xpg\u echo選項設定為on時,echo命令將遵循跳脫字元,例如\n表示新行,\t表示水平製表符。

首先,鍵入以下內容以確保已設定該選項:

shopt -s xpg_echo

然後在要傳遞給echo的字串中包含\n:

echo "This is line one\nThis is line two"

如何使用shopt定製bashshell

轉義的新行字元強制在輸出中換行。

這將產生與-e(啟用轉義解釋)echo選項相同的行為,但是xpg\u echo允許它作為預設操作。

相關:如何在Linux上使用Echo命令

dotglob選項

應該謹慎對待dotglob選項。它允許以句點(.)開頭的檔案和目錄包含在名稱擴充套件或“globbing”中,這些檔案和目錄稱為“點檔案”或“點目錄”,它們通常是隱藏的。dotglob選項忽略其名稱開頭的點。

首先,我們將透過鍵入以下內容來搜尋以“geek”結尾的檔案或目錄:

ls *geek

找到並列出一個檔案。然後,我們將透過鍵入以下內容來啟用dotglob選項:

shopt -s dotglob

我們發出相同的ls命令來查詢以“geek”結尾的檔案和目錄:

ls *geek

如何使用shopt定製bashshell

這次找到並列出了兩個檔案,其中一個是點檔案。當dotglob選項設定為on時,您需要小心rm和mv。

nocaseglob選項

nocaseglob選項與dotglob選項類似,只是nocaseglob會導致在名稱擴充套件中忽略檔名和目錄中大小寫字母的差異。

我們鍵入以下內容以查詢以“how”開頭的檔案或目錄:

ls how*

找到並列出一個檔案。我們鍵入以下內容以啟用nocaseglob選項:

shopt -s nocaseglob

然後,我們重複ls命令:

ls how*

如何使用shopt定製bashshell

找到兩個檔案,其中一個包含大寫字母。

使更改永久化

我們所做的更改只會持續到關閉當前bashshell。為了使它們在不同的shell會話中永久存在,我們需要將它們新增到“.bashrc”檔案中。

在主目錄中,鍵入以下命令以在圖形Gedit文字編輯器中開啟“.bashrc”檔案(或相應地更改它以使用您喜歡的編輯器):

gedit .bashrc

gedit編輯器將開啟並載入“.bashrc”檔案。你會看到一些shopt條目已經在裡面了。

如何使用shopt定製bashshell

你也可以在這裡新增自己的shopt選項。新增後,儲存更改並關閉編輯器。現在,每當您開啟一個新的bashshell時,您的選項都將為您設定。

眼睛所能看到的選項

shopt命令確實有很多選擇,但是您不必一次處理所有的選擇。因為有這麼多,有可能是一些將不感興趣的你。

例如,有一系列強制Bash以與特定的、較舊的版本相容的方式進行操作。這可能對某些人有用,但這是一個相當利基的案例。

您可以檢視Bash手冊頁或gnubash參考手冊。決定哪些選項會對你產生影響,然後進行實驗。只要小心那些會影響檔名和目錄名展開方式的選項。試著用一個溫和的命令,比如ls,直到你覺得舒服為止。

  • 發表於 2021-04-01 12:30
  • 閱讀 ( 55 )
  • 分類:網際網路

你可能感興趣的文章

如何在windows10上獲得linux bash shell

... 兩者都將顯示為“Run命令”,可以選擇該命令立即開啟bashshell。使用這兩種方法的區別在於,它們在/mnt/c/Windows/System32目錄中開啟。這意味著您可以在Windows10中瀏覽System32子目錄。 ...

  • 發佈於 2021-03-21 11:48
  • 閲讀 ( 58 )

如何定製mac終端並使其更有用

.../bin/ksh等等。Unix愛好者喜歡使用zsh(或Z)shell,因為它在bashshell之上提供了許多特性,並支援許多外掛。 ...

  • 發佈於 2021-03-21 20:13
  • 閲讀 ( 47 )

如何在linux上使用cd命令

...小又簡單。 在使用Linux計算機的第一個小時內,您將學習如何使用Bash和其他shell附帶的cd命令。也許您以前有在其他作業系統上使用它的經驗,不需要解釋。它會改變當前的工作目錄,對嗎?還有什麼要知道的? 好吧,比你想象...

  • 發佈於 2021-04-02 08:58
  • 閲讀 ( 65 )

如何在linux上執行和控制後臺程序

在Linux中使用bashshell來管理前臺和後臺程序。您可以使用Bash的作業控制函式和訊號,使您能夠更靈活地執行命令。我們教你怎麼做。 所有關於流程 每當一個程式在Linux或類似Unix的作業系統中執行時,就會啟動一個程序。“程...

  • 發佈於 2021-04-03 03:30
  • 閲讀 ( 49 )

如何在linux的bashshell中複製和貼上文字

要在bashshell的命令列中複製和貼上嗎?我們將向您展示多種技巧,無論您喜歡鍵盤還是滑鼠。無論您是在圖形桌面上還是在傳統的基於文字的TTY上,這些工具都能工作。 通常的鍵盤快捷鍵不起作用 複製和貼上文字是使用計算...

  • 發佈於 2021-04-03 03:36
  • 閲讀 ( 55 )

如何在linux上建立別名和shell函式

使用別名和bashshell函式建立自己的Linux命令。馴服重複性的任務,截斷冗長的程序,並用您經常使用且難以記住的選項配置標準命令。 別名和shell指令碼是Linux和類Unix作業系統中的強大技術,允許您將命令列體驗磨練為您想要的...

  • 發佈於 2021-04-03 03:45
  • 閲讀 ( 45 )

bash需要知道的15個特殊字元

如果您想在Linux、macOS或其他類似UNIX的系統上掌握bashshell,那麼特殊字元(如~、*、|和>)是至關重要的。我們將幫助您解開這些神祕的Linux命令序列,成為象形文字的英雄。 什麼是特殊字元(special characters)? bashshell以兩...

  • 發佈於 2021-04-03 03:58
  • 閲讀 ( 48 )

如何使用linux type命令

...速快照。它是whoami、w、free和df的組合。 type pwd pwd命令是bashshell的內建命令。 type elif elif命令是bashshell保留字。 使用多個命令 您可以一次給type多個命令來標識。 type date top ls -t選項 型別將接受的選項都沒有名稱。所以我們可...

  • 發佈於 2021-04-03 10:23
  • 閲讀 ( 50 )

如何在windows10的bashshell中啟用複製和貼上鍵盤快捷鍵

windows10的bashshell終於有了方便的複製和貼上鍵盤快捷鍵,但由於相容性的原因,它們在預設情況下被禁用。這些快捷方式在2018年10月的更新中可用,該更新最初的代號為Redstone 5。 要啟用複製和貼上鍵盤快捷鍵,請右鍵單擊LinuxB...

  • 發佈於 2021-04-06 13:15
  • 閲讀 ( 52 )

windows10的新bashshell所能做的一切

...Linux應用程式的完全相容層。 我們已經介紹了windows10的新bashshell中可以做的很多事情,因此為了方便起見,我們將所有這些指南匯總到一個大列表中。 windows上linux入門 相關:如何在windows10上安裝和使用Linux Bash Shell 您可以在...

  • 發佈於 2021-04-06 14:44
  • 閲讀 ( 54 )
bi8y02
bi8y02

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦