自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

輕松使用“Explain Shell”腳本來理解 Shell 命令

開發(fā)
我們在Linux上工作時,每個人都會遇到需要查找shell命令的幫助信息的時候。 盡管內(nèi)置的幫助像man pages、whatis命令有所助益, 但man pages的輸出非常冗長, 除非是個有l(wèi)inux經(jīng)驗的人,不然從大量的man pages中獲取幫助信息是非常困難的,而whatis命令的輸出很少超過一行, 這對初學(xué)者來說是不夠的。

我們在Linux上工作時,每個人都會遇到需要查找shell命令的幫助信息的時候。 盡管內(nèi)置的幫助像man pages、whatis命令有所助益, 但man pages的輸出非常冗長, 除非是個有l(wèi)inux經(jīng)驗的人,不然從大量的man pages中獲取幫助信息是非常困難的,而whatis命令的輸出很少超過一行, 這對初學(xué)者來說是不夠的。

輕松使用“Explain Shell”腳本來理解 Shell 命令

Linux Shell中解釋Shell命令

有一些第三方應(yīng)用程序, 像我們在Linux 用戶的命令行速查表提及過的’cheat’命令。cheat是個優(yōu)秀的應(yīng)用程序,即使計算機(jī)沒有聯(lián)網(wǎng)也能提供shell命令的幫助, 但是它僅限于預(yù)先定義好的命令。

Jackson寫了一小段代碼,它能非常有效地在bash shell里面解釋shell命令,可能最美之處就是你不需要安裝第三方包了。他把包含這段代碼的的文件命名為“explain.sh”。

explain.sh工具的特性

  • 易嵌入代碼。

  • 不需要安裝第三方工具。

  • 在解釋過程中輸出恰到好處的信息。

  • 需要網(wǎng)絡(luò)連接才能工作。

  • 純命令行工具。

  • 可以解釋bash shell里面的大部分shell命令。

  • 無需使用root賬戶。

先決條件

***的條件就是’curl’包了。 在如今大多數(shù)Linux發(fā)行版里面已經(jīng)預(yù)安裝了curl包, 如果沒有你可以按照下面的命令來安裝。

# apt-get install curl  [On Debian systems]
# yum install curl      [On CentOS systems]

在Linux上安裝explain.sh工具

我們要將下面這段代碼插入’~/.bashrc’文件(LCTT譯注: 若沒有該文件可以自己新建一個)中。我們要為每個用戶以及對應(yīng)的’.bashrc’文件插入這段代碼,但是建議你不要加在root用戶下。

我們注意到.bashrc文件的***行代碼以(#)開始, 這個是可選的并且只是為了區(qū)分余下的代碼。

#explain.sh 標(biāo)記代碼的開始, 我們將代碼插入.bashrc文件的底部。

# explain.sh begins
explain () {
  if [ "$#" -eq 0 ]; then
    while read  -p "Command: " cmd; do
      curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$cmd"
    done
    echo "Bye!"
  elif [ "$#" -eq 1 ]; then
    curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$1"
  else
    echo "Usage"
    echo "explain                  interactive mode."
    echo "explain 'cmd -o | ...'   one quoted command to explain it."
  fi
}

explain.sh工具的使用

在插入代碼并保存之后,你必須退出當(dāng)前的會話然后重新登錄來使改變生效(LCTT譯注:你也可以直接使用命令source~/.bashrc 來讓改變生效)。每件事情都是交由‘curl’命令處理, 它負(fù)責(zé)將需要解釋的命令以及命令選項傳送給mankier服務(wù),然后將必要的信息打印到Linux命令行。不必說的就是使用這個工具你總是需要連接網(wǎng)絡(luò)。

讓我們用explain.sh腳本測試幾個筆者不懂的命令例子。

1.我忘了‘du -h’是干嘛用的, 我只需要這樣做:

$ explain 'du -h'

輕松使用“Explain Shell”腳本來理解 Shell 命令

獲得du命令的幫助

2.如果你忘了’tar -zxvf’的作用,你可以簡單地如此做:

$ explain 'tar -zxvf'

輕松使用“Explain Shell”腳本來理解 Shell 命令

Tar命令幫助

3.我的一個朋友經(jīng)常對’whatis’以及’whereis’命令的使用感到困惑,所以我建議他:

在終端簡單的地敲下explain命令進(jìn)入交互模式。

$ explain

然后一個接著一個地輸入命令,就能在一個窗口看到他們各自的作用:

Command: whatis
Command: whereis

輕松使用“Explain Shell”腳本來理解 Shell 命令

Whatis/Whereis命令的幫助

你只需要使用“Ctrl+c”就能退出交互模式。

4. 你可以通過管道來請求解釋更多的命令。

$ explain 'ls -l | grep -i Desktop'

輕松使用“Explain Shell”腳本來理解 Shell 命令

獲取多條命令的幫助

同樣地,你可以請求你的shell來解釋任何shell命令。 前提是你需要一個可用的網(wǎng)絡(luò)。輸出的信息是基于需要解釋的命令,從服務(wù)器中生成的,因此輸出的結(jié)果是不可定制的。

對于我來說這個工具真的很有用,并且它已經(jīng)榮幸地添加在我的.bashrc文件中。你對這個項目有什么想法?它對你有用么?它的解釋令你滿意嗎?請讓我知道吧!

請在下面評論為我們提供寶貴意見,喜歡并分享我們以及幫助我們得到傳播。

責(zé)任編輯:王雪燕 來源: linux.cn
相關(guān)推薦

2012-04-26 14:02:58

ibmdw

2022-03-28 13:24:52

Shell腳本代碼

2019-05-20 16:21:51

LinuxShell監(jiān)控磁盤

2011-09-08 14:25:31

2012-11-29 14:44:07

2020-06-16 08:44:23

Shell服務(wù)器

2009-11-18 13:52:30

PHP shell腳本

2022-06-21 09:26:21

Shell腳本JavaScript

2009-10-26 13:25:05

Linux Shell

2022-09-29 10:51:18

ShellLinux命令審計

2024-11-27 09:19:25

2014-08-08 16:17:49

shell腳本linux

2012-05-08 11:11:43

Linuxcrontab命令

2019-08-09 13:50:08

shellLinux

2009-10-27 15:18:45

linux腳本Shel

2011-09-27 13:52:41

2020-06-17 10:42:54

shellshell腳本Linux

2021-05-11 07:50:31

BashShell腳本

2024-02-19 16:15:07

2010-03-04 15:28:01

Ubuntu Shel
點贊
收藏

51CTO技術(shù)棧公眾號