一、問(wèn)題
1.1、環(huán)境 電腦環(huán)境:Windows 10; Docker版本:Server Version: 19.03.3
1.2、問(wèn)題 shell腳本一直是Linux的必回只語(yǔ)言;就像去英語(yǔ)系國(guó)家工作,shell就是英語(yǔ);如果不會(huì)英語(yǔ),那么工作起來(lái)就會(huì)舉步維艱;
聲明:本學(xué)習(xí)內(nèi)容,是觀看了嗶哩嗶哩網(wǎng)站上【京峰教育】的吳光科老師的視頻編寫而成;僅供學(xué)習(xí)參考;網(wǎng)站地址
二、解答
2.1、基本知識(shí); 我們首先要有一個(gè)Linux環(huán)境,如果沒(méi)有,可以在自己的電腦上裝一個(gè)Linux系統(tǒng),或者裝一個(gè)虛擬機(jī),虛擬機(jī)是什么呢?打個(gè)比方,你想學(xué)英語(yǔ),但是沒(méi)有英語(yǔ)環(huán)境,要么,就直接去英語(yǔ)國(guó)家,在現(xiàn)實(shí)的環(huán)境里學(xué)習(xí)(直接裝Linux系統(tǒng));如果沒(méi)有這個(gè)條件,就可以去英語(yǔ)角,或者報(bào)一個(gè)英語(yǔ)培訓(xùn)班,在英語(yǔ)角或者英語(yǔ)培訓(xùn)班,大家都用英語(yǔ)說(shuō)話,這樣就有一個(gè)臨時(shí)的英語(yǔ)環(huán)境(虛擬機(jī));如果這兩個(gè)條件都沒(méi)有,那就在自己的電腦裝一個(gè)Docker,Docker本質(zhì)上也可以看做一個(gè)虛擬機(jī),我沒(méi)有去英語(yǔ)國(guó)家,也沒(méi)有錢報(bào)英語(yǔ)班,去英語(yǔ)角,但是我可以上網(wǎng),去網(wǎng)上學(xué)習(xí),這種方式就好比裝一個(gè)Docker軟件,來(lái)模擬英語(yǔ)環(huán)境;具體怎么裝Docker,大家可以網(wǎng)上搜索一下,這里就不贅述;言歸正傳,在Linux里,我我們使用vi first_shell.sh來(lái)新增一個(gè)文件,文件的名字就叫first_shell;【.sh】這個(gè)中文的粗體黑色的中括號(hào)里的就是shell腳本的后綴;用.sh表示,這是一個(gè)shell腳本;然后我們按下英文的i鍵,這樣就進(jìn)入編輯模式了;然后我們輸入如下內(nèi)容:
1、腳本
#!/bin/bash
#第一行的井號(hào)標(biāo)注了運(yùn)行方式,這是一個(gè)shell腳本;
#第二行的井號(hào)和之后的井號(hào),都做注釋理解,不編譯,不運(yùn)行,只做提示說(shuō)明作用;
#FileName:firsh_shell.sh
#auto echo hello world!
#by authors Taozc
echo "Hello world!"
2、運(yùn)行 輸入完之后,我們按【Esc】鍵,就是你鍵盤最左上角的那個(gè)鍵,來(lái)退出編輯模式,并且輸入英語(yǔ)的冒號(hào)和wq!來(lái)保存文件;之后我們就退出文件編輯模式,進(jìn)入命令行模式了; 那么,我們?nèi)绾芜\(yùn)行呢?shell腳本不能雙擊運(yùn)行,必須用鍵盤輸入命令執(zhí)行,在命令行模式里,我們使用:
sh first_shell.sh
所有的shell腳本,都可以用sh+空格+文件名的方式運(yùn)行;注意,文件名是帶后綴的,這個(gè)跟windows系統(tǒng)不一樣,windows系統(tǒng)隱藏文件后綴名,也可以運(yùn)行文件或者腳本;
3、授權(quán):授權(quán)使用者,可以運(yùn)行的權(quán)限; 如果運(yùn)行不了,可能是沒(méi)有授權(quán),我們可以給這個(gè)腳本授權(quán),授權(quán)命令如下:
chmod o+x first_shell.sh
chmod 是授權(quán)命令,o表示其他以外的人;x表示可執(zhí)行的權(quán)限;授權(quán)格式為:chmod+參數(shù)+文件名(帶后綴);這個(gè)命令的意思是給創(chuàng)建者以外的人,授予執(zhí)行的權(quán)限; 執(zhí)行的截圖如下: 
4、不授權(quán)執(zhí)行
/bin/bash first_shell.sh
來(lái)運(yùn)行shell腳本了,這樣,我們就不用授權(quán),也能執(zhí)行了;執(zhí)行結(jié)果如下圖: 
本篇說(shuō)明內(nèi)容完畢;
三、總結(jié)
歡迎關(guān)注我的 CSDN博客: https://blog.csdn.net/River_Continent
微信公眾號(hào):幕橋社區(qū)
