shell編程第一天
shell簡介
什么是shell
shell是一門編程語言,是操作者和作業系統對話的一種工具,相當于一種應用程式,也就是操作者將自己的需求反饋給應用程式,應用程式給作業系統,作業系統翻譯給硬體,最后去執行,shell俗稱是殼,一種命令解釋器,shell就是將我們已知的命令寫到一個檔案中去,變成一個新的應用程式,
shell語言的特點
shell語言是指unix作業系統的命令語言,同事有是該命令語言的解釋程式的簡稱,shell的本身是一個用C語言撰寫的程式,它是用戶使用unix和linux的橋梁,用戶的大部分的作業都是通過shell完成的,
shell的作用
shell可以做的事情有很多,比如說:
1.自動化批量系統初始化程式(update 軟體安裝 設定時區 安全策略)
2.自動化批量軟體部署程式(LAMP LNMP TOMCAT LAS NGINX)
3.應用管理程式(kvm,集群管理擴容 MySQL)
4.日志分析處理程式
5.自動化備份恢復程式(Mysql完全和增量備份 計劃任務)
等等
shell可以做很多的事情,那怎么執行shell呢?
shell的執行方式
準備測驗的檔案
創建檔案并且寫入內容
vi /shell/file1
read -p "請輸入您的姓名:" name
echo "2021,祝$name牛年大吉"
保存并且退出
- 第一種執行方式:bash shell檔案
bash file1
- 第二種執行方式:sh shell檔案
sh file1
第一種的bash和第二種的sh都是同一種應用程式,只不過稱呼有些不同

第一種和第二種執行的方式是子shell,
- 第三種執行方式:. shell檔案
. file1
第三種執行方法中的點. 代表的是當前目錄,也就是當前目錄下去執行shell檔案,就相當于windows上的雙擊應用程式一樣,使用./也可以
- 第四種執行方式:source shell檔案
source file1
第三和四種是本shell運行
四種執行方式的區別:
第一種和第二種執行的方式是子shell,當我們進入電腦打開命令列時在命令列中寫入
bash時就已經打開了一個子shell程式,只不過這個子shell和本shell長得一樣,區分不出來而已,
那么既然不容易觀察,怎么證明前兩種的執行的是子shell程式的呢?
可以嘗試exit來退出,來觀察命令列的反應,如果命令列并沒有關閉則證明是子shell,如果命令列關閉了則證明是本shell

由此證明第一種和第二種是子shell執行,他們之間的關系就相當于親子關系,
第一種和第二種在執行時先進入一個子shell程式,把shell檔案執行完成后,再退出子shell程式
怎么證明?
撰寫一個shell檔案file2.sh(在這里檔案的撰寫并沒有要求必須要擴展名并不影響運行,加擴展名只是更體現的更加專業)
vi file2.sh
#!/usr/bin/bash第一行是腳本宣告,表示的是shell語言撰寫的,其中的#表示是注釋,!表示起始語
cd /home/# 到home目錄下
ls# 查看當前的目錄
保存退出
使用第一種或者是第二種執行方式:

目錄并沒有發生改變,證明bash在執行完后退出了子shell程式,
第三四種執行方式:

當前目錄發生了改變,由shell變成了home,證明是本shell.
shell編輯器的位置
使用以下的命令可以查看shell程式的位置
cat /etc/shells
或者是
chsh -l

只不過有些shell可以使用,有些shell不可以使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/259575.html
標籤:其他
