溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shell入門知識點有哪些

發(fā)布時間:2022-02-17 15:47:05 來源:億速云 閱讀:122 作者:iii 欄目:開發(fā)技術

這篇文章主要講解了“shell入門知識點有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“shell入門知識點有哪些”吧!

shell入門知識點有哪些

背景

一句話概括就是:shell編程就是對一堆Linux命令的邏輯化處理。舉個簡單的例子,我們做javaweb開發(fā)的,在以前,如果要在本地將程序打包,然后部署到遠程服務器我們以前的做法通常會經(jīng)歷如下幾個步驟: 

1獲取最新代碼(git pull) 

2編譯打包 

3上傳并部署到遠程服務器 每次打包都要經(jīng)歷這樣的一個階段,效率低且令人煩躁。面對這種情況,我們就可以編寫一個shell腳本,每次只需要運行一下這個shell腳本,即可實現(xiàn)打包部署這一系列動作,徹底解放雙手,多么地美好。

入門

#!/bin/bash#第一個shell小程序echo hello world!

多么經(jīng)典的helllo world。

第一行表示我們選擇使用bash shell

第二行以#符號開始,表示本行是注釋,運行的時候是不會運行本行的。

第三行中的echo是linux中的輸出命令,該行的意思就是輸出hello world!

shell中#符號表示注釋。shell的第一行比較特殊,一般都會以#!開始來指定使用的shell類型。在linux中,除了bash shell以外,還有很多版本的shell, 例如zsh、dash等等…不過bash shell還是我們使用最多的。

運行第一個shell程序

chmod +x hello_world.sh
./hello_world.sh

在linux中,后綴名幾乎是可以任意的或者沒有后綴名,一般將shell保存為XXX.sh是為了看起來更直觀。 如果直接執(zhí)行hello_world.sh,這時會默認從$PATH環(huán)境變量中去尋找,這時,由于我們?yōu)閷⒋宋募渲迷诃h(huán)境變量中,因此會找不到。所以,我們用了”.”這個符號,表示從當前目錄找。 除了以上執(zhí)行方法,我們還可以直接指定shell來運行:

/bin/sh hello_world.sh

這兒我們指定用了/bin/sh來執(zhí)行,這時hello_world.sh中指定的/bin/bash將不會生效。

變量

shell編程中分為兩種變量,第一種是我們自己定義的變量(自定義變量),第二種是Linux已定義的環(huán)境變量(環(huán)境變量, 例如:HOME 等…, 這類變量我們可以直接使用)。

#!/bin/bash#使用環(huán)境變量echo $PATH#自定義變量hellohello="hello world"echo $hello

以上演示了自定義變量和系統(tǒng)環(huán)境變量的用法,使用很簡單,就是使用符號加上變量名就行了。記住:定義變量不用符號,使用變量要加$就行了。在第5行中,我們在自定義變量時,使用了雙引號,在shell編程中,如果變量出現(xiàn)空格或者引號,那么也必須加引號, 否則就可以省略。 還有一點需要注意,定義變量的時候,“=”左右千萬不要有空格啊。 將linux命令執(zhí)行結果賦值給變量

#!/bin/bashpath=$(pwd)
files=`ls -al`echo current path: $pathecho files: $files

以上2行和第3行分別演示了兩種方式來將Linux命令執(zhí)行結果保存到變量。第2行將pwd執(zhí)行結果(當前所在目錄)賦值給path變量。第3行將ls -al命令執(zhí)行結果(列出當前目錄下所有的文件及文件夾)賦值給變量。

第三行的符號不是單引號,是鍵盤上“~”這個按鍵

感謝各位的閱讀,以上就是“shell入門知識點有哪些”的內容了,經(jīng)過本文的學習后,相信大家對shell入門知識點有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI