linux之shell
相信很多同學都不陌生這個腳本,尤其是運維的同學,少不了吧。公司的運維系統(tǒng)就靠你了。shell是一種解釋型的語言,我們寫好了代碼后,不需要編譯,直接運行即可。平時我們會用它來寫一些腳本,比如備份,或者啟動腳本,切割日志等。當然shell也是linux的解釋器,本篇我們先來了解下這個解釋器。
shell解釋器
?shell也叫殼,區(qū)別與操作系統(tǒng)內(nèi)核。比如一個不同國家的人交流需要一個翻譯官,那么shell就是這個翻譯官。shell是負責用戶,負責接受用戶的指令,解釋并運行,將需要執(zhí)行的操作給操作內(nèi)核。
shell的常見種類
? sh?
? ? ?由 Bourne shell 開發(fā),為了紀念大佬,就用了他的名字命名了。sh也是第一個流行的shell。
????csh
? ? ?C shell? 語法和C語言比較類似。
????ksh
? ? ?集合了 csh 和 sh 的優(yōu)點,并且和sh兼容。
????bash
? ? ?與sh完全兼容,sh的的擴展版本,在sh上增加了新特性,補全命令,命令編輯器和歷史命令等功能也是linux默認的shell。
????zsh
? ? ?集成了bash,ksh等優(yōu)點,使得交互式的操作更加方便。小編用的也是zsh。
linux默認的shell解釋器
linux 默認的 shell 解釋器是bash,在/bin目錄下。
? ?~?ll?/bin/bash
-rwxr-xr-x?1?root root?939K?9月 ??7?2017?/bin/bash
編寫一個shell腳本
一般來說,shell腳本的程序一般用.sh結尾。編寫一個hello.sh?
#!/bin/bashecho?"hello world!" ~?
?#!/bin/bash : 指定腳本使用的命令解釋器。
?echo "hello world!" 內(nèi)容打印一個hello world! 。
?
? ?test?ls hello.sh?
執(zhí)行腳本:
? ?test chmod +x?hello.sh ? ?test ./hello.sh hello world!?
?chmod +x hello.sh 給腳本加可執(zhí)行權限
?./hello.sh 執(zhí)行hello.sh
?另外也可以用以下幾種方式執(zhí)行(可以沒有可執(zhí)行權限) 編寫一個新的腳本,不添加可執(zhí)行權限。
? ?test bash t.sh bash! ? ?test?sh?t.sh bash! ? ?test?source?t.sh bash!?
?
shell執(zhí)行順序
? ?從上到下,?從左到右 。
總結
以上是生活随笔為你收集整理的linux之shell的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数字化乡村最后一公里的便利服务
- 下一篇: 老师,您好,就是我上月的专票做成普票的,