網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
Shell編寫格式和執(zhí)行方式
通過(guò)編寫Shell命令發(fā)送給linux內(nèi)核去執(zhí)行,就是用戶操作計(jì)算機(jī)(內(nèi)核)的橋梁
Shell也屬于一門程序設(shè)計(jì)語(yǔ)言,含有變量.函數(shù),邏輯控制語(yǔ)句等等
shell解析器:bash
1:打印輸出當(dāng)前系統(tǒng)環(huán)境使用的shell解析器類型
echo $SHELL
echo:用于打印輸出數(shù)據(jù)到終端
$SHELL:是全局共享讀取解析器類型的環(huán)境變量,全局環(huán)境變量是所有的Shell程序都可以讀取的變量
shell腳本文件編寫規(guī)范
腳本文件后綴名規(guī)范:
shell腳本就是一個(gè)文本文件,后綴名建議使用.sh結(jié)尾
首行格式規(guī)范
首行需要設(shè)置shell解析器的類型
語(yǔ)法: #!/bin/bash (設(shè)置當(dāng)前腳本文件采用bash解析器運(yùn)行腳本)
注釋格式:
單行注釋:#注釋內(nèi)容
多行注釋: :<<! 內(nèi)容 !
編寫shell腳本的helloword的入門案例
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ǔ)法: ./腳本文件
所有用戶添加可執(zhí)行權(quán)限: chmod a+x 文件
三種方式的區(qū)別
sh或bash執(zhí)行腳本文件方式是直接使用shell解析器運(yùn)行腳本文件,不需要可執(zhí)行權(quán)限,
僅路徑方式是執(zhí)行腳本文件自己,需要可執(zhí)行權(quán)限;
小結(jié)
1:shell腳本文件編寫規(guī)范?
文件的后綴名建議使用 .sh 擴(kuò)展名
首行需要設(shè)置解析器類型 #!/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-03-14 怎么去掉Starting new HTTP connection 的提示
- 2023-03-17 學(xué)習(xí)win32com操作word之Range精講_python
- 2022-05-11 Python實(shí)現(xiàn)圖書管理系統(tǒng)設(shè)計(jì)_python
- 2022-04-16 Python實(shí)現(xiàn)杰卡德距離以及環(huán)比算法講解_python
- 2021-12-12 Docker?Consul概述以及集群環(huán)境搭建步驟(圖文詳解)_docker
- 2023-06-03 golang并發(fā)鎖使用詳解_Golang
- 2022-10-20 Python中使用Frozenset對(duì)象的案例詳解_python
- 2022-12-10 c語(yǔ)言如何設(shè)置隨機(jī)數(shù)及逐行解析_C 語(yǔ)言
- 最近更新
-
- 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概述快速入門
- 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)程分支