新聞中心
Shell 是一個(gè)命令解釋權(quán),它為用戶(hù)提供了一個(gè)向 Linux 內(nèi)核發(fā)送請(qǐng)求以便運(yùn)行程序界面系統(tǒng)級(jí)程序,用戶(hù)可以用 Shell 來(lái)啟動(dòng)、掛起、停止甚至是編寫(xiě)一些程序,本篇文中重點(diǎn)為大家分享一下shell入門(mén)教程,有需要的小伙伴可以參考一下。

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)榮成,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):028-86922220
背景
一句話概括就是:shell編程就是對(duì)一堆Linux命令的邏輯化處理。舉個(gè)簡(jiǎn)單的例子,我們做javaweb開(kāi)發(fā)的,在以前,如果要在本地將程序打包,然后部署到遠(yuǎn)程服務(wù)器我們以前的做法通常會(huì)經(jīng)歷如下幾個(gè)步驟: 1獲取最新代碼(git pull) 2編譯打包 3上傳并部署到遠(yuǎn)程服務(wù)器 每次打包都要經(jīng)歷這樣的一個(gè)階段,效率低且令人煩躁。面對(duì)這種情況,我們就可以編寫(xiě)一個(gè)shell腳本,每次只需要運(yùn)行一下這個(gè)shell腳本,即可實(shí)現(xiàn)打包部署這一系列動(dòng)作,徹底解放雙手,多么地美好。
入門(mén)
#!/bin/bash
#第一個(gè)shell小程序
echo hello world!
多么經(jīng)典的helllo world。
第一行表示我們選擇使用bash shell
第二行以#符號(hào)開(kāi)始,表示本行是注釋?zhuān)\(yùn)行的時(shí)候是不會(huì)運(yùn)行本行的。
第三行中的echo是linux中的輸出命令,該行的意思就是輸出hello world!
shell中#符號(hào)表示注釋。shell的第一行比較特殊,一般都會(huì)以#!開(kāi)始來(lái)指定使用的shell類(lèi)型。在linux中,除了bash shell以外,還有很多版本的shell, 例如zsh、dash等等…不過(guò)bash shell還是我們使用最多的。
運(yùn)行第一個(gè)shell程序
chmod +x hello_world.sh
./hello_world.sh
在linux中,后綴名幾乎是可以任意的或者沒(méi)有后綴名,一般將shell保存為XXX.sh是為了看起來(lái)更直觀。 如果直接執(zhí)行hello_world.sh,這時(shí)會(huì)默認(rèn)從$PATH環(huán)境變量中去尋找,這時(shí),由于我們?yōu)閷⒋宋募渲迷诃h(huán)境變量中,因此會(huì)找不到。所以,我們用了”.”這個(gè)符號(hào),表示從當(dāng)前目錄找。 除了以上執(zhí)行方法,我們還可以直接指定shell來(lái)運(yùn)行:
/bin/sh hello_world.sh
這兒我們指定用了/bin/sh來(lái)執(zhí)行,這時(shí)hello_world.sh中指定的/bin/bash將不會(huì)生效。
變量
shell編程中分為兩種變量,第一種是我們自己定義的變量(自定義變量),第二種是Linux已定義的環(huán)境變量(環(huán)境變量, 例如:HOME 等…, 這類(lèi)變量我們可以直接使用)。
#!/bin/bash
#使用環(huán)境變量
echo $PATH
#自定義變量hello
hello="hello world"
echo $hello
以上演示了自定義變量和系統(tǒng)環(huán)境變量的用法,使用很簡(jiǎn)單,就是使用符號(hào)加上變量名就行了。記?。憾x變量不用符號(hào),使用變量要加$就行了。在第5行中,我們?cè)谧远x變量時(shí),使用了雙引號(hào),在shell編程中,如果變量出現(xiàn)空格或者引號(hào),那么也必須加引號(hào), 否則就可以省略。 還有一點(diǎn)需要注意,定義變量的時(shí)候,“=”左右千萬(wàn)不要有空格啊。 將linux命令執(zhí)行結(jié)果賦值給變量
#!/bin/bash
path=$(pwd)
files=`ls -al`
echo current path: $path
echo files: $files
以上2行和第3行分別演示了兩種方式來(lái)將Linux命令執(zhí)行結(jié)果保存到變量。第2行將pwd執(zhí)行結(jié)果(當(dāng)前所在目錄)賦值給path變量。第3行將ls -al命令執(zhí)行結(jié)果(列出當(dāng)前目錄下所有的文件及文件夾)賦值給變量。
第三行的符號(hào)不是單引號(hào),是鍵盤(pán)上“~”這個(gè)按鍵
到此,對(duì)shell編程已經(jīng)有初步認(rèn)識(shí)了,也會(huì)使用變量了。到此,看起來(lái)shell編程是不是很的簡(jiǎn)單。沒(méi)錯(cuò),其實(shí)真的就這么一回事。
當(dāng)前標(biāo)題:詳解shell入門(mén)
網(wǎng)頁(yè)網(wǎng)址:http://www.fisionsoft.com.cn/article/cdjjihh.html


咨詢(xún)
建站咨詢(xún)
