網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
Shell編寫(xiě)格式和執(zhí)行方式
通過(guò)編寫(xiě)Shell命令發(fā)送給linux內(nèi)核去執(zhí)行,就是用戶(hù)操作計(jì)算機(jī)(內(nèi)核)的橋梁
Shell也屬于一門(mén)程序設(shè)計(jì)語(yǔ)言,含有變量.函數(shù),邏輯控制語(yǔ)句等等
shell解析器:bash
1:打印輸出當(dāng)前系統(tǒng)環(huán)境使用的shell解析器類(lèi)型
echo $SHELL
echo:用于打印輸出數(shù)據(jù)到終端
$SHELL:是全局共享讀取解析器類(lèi)型的環(huán)境變量,全局環(huán)境變量是所有的Shell程序都可以讀取的變量
shell腳本文件編寫(xiě)規(guī)范
腳本文件后綴名規(guī)范:
shell腳本就是一個(gè)文本文件,后綴名建議使用.sh結(jié)尾
首行格式規(guī)范
首行需要設(shè)置shell解析器的類(lèi)型
語(yǔ)法: #!/bin/bash (設(shè)置當(dāng)前腳本文件采用bash解析器運(yùn)行腳本)
注釋格式:
單行注釋:#注釋內(nèi)容
多行注釋: :<<! 內(nèi)容 !
編寫(xiě)shell腳本的helloword的入門(mén)案例
touch helloWord.sh
文件內(nèi)容
# !/bin/bash
echo "hello word"
執(zhí)行shell腳本文件的3中方式和區(qū)別
1:sh解析器執(zhí)行方式
介紹:就是利用sh 命令執(zhí)行腳本文件,本質(zhì)就是使用shell解析器運(yùn)行腳本文件
語(yǔ)法: sh 腳本文件
2:bash解析器執(zhí)行方式
介紹:就是利用bash 命令執(zhí)行腳本文件,本質(zhì)就是使用shell解析器運(yùn)行腳本文件
語(yǔ)法: bash 腳本文件
3:僅路徑執(zhí)行方式
介紹:執(zhí)行當(dāng)前目錄下的腳本文件,
注意:腳本文件自己執(zhí)行需要具有可執(zhí)行權(quán)限,否則無(wú)法執(zhí)行.
語(yǔ)法: ./腳本文件
所有用戶(hù)添加可執(zhí)行權(quán)限: chmod a+x 文件
三種方式的區(qū)別
sh或bash執(zhí)行腳本文件方式是直接使用shell解析器運(yùn)行腳本文件,不需要可執(zhí)行權(quán)限,
僅路徑方式是執(zhí)行腳本文件自己,需要可執(zhí)行權(quán)限;
小結(jié)
1:shell腳本文件編寫(xiě)規(guī)范?
文件的后綴名建議使用 .sh 擴(kuò)展名
首行需要設(shè)置解析器類(lèi)型 #!/bin/bash
腳本文件的注釋: # :<<! !
2:執(zhí)行shell腳本文件有哪3種方式,并說(shuō)明他們的區(qū)別
sh執(zhí)行腳本文件
bash執(zhí)行腳本文件
僅路徑執(zhí)行腳本文件
區(qū)別:前兩種是解析器直接執(zhí)行不需要可執(zhí)行權(quán)限,最后一種是腳本文件自己執(zhí)行需要可執(zhí)行權(quán)限;
原文鏈接:https://timefriends.blog.csdn.net/article/details/122333959
相關(guān)推薦
- 2022-09-30 Qt編寫(xiě)秒表功能_C 語(yǔ)言
- 2022-02-03 ionic 富文本編輯樣式后,前臺(tái)不能回顯樣式
- 2022-05-25 Python學(xué)習(xí)之文件的創(chuàng)建與寫(xiě)入詳解_python
- 2023-02-23 Android中URLEncoder空格被轉(zhuǎn)碼為"+"號(hào)的處理辦法_Android
- 2023-03-20 C#中程序自刪除實(shí)現(xiàn)方法_C#教程
- 2022-04-23 C#面向?qū)ο蟮?3種設(shè)計(jì)模式介紹_C#教程
- 2022-09-27 Python?Matplotlib繪制扇形圖標(biāo)簽重疊問(wèn)題解決過(guò)程_python
- 2022-07-11 Android星級(jí)評(píng)分條實(shí)現(xiàn)評(píng)分界面_Android
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支