1. 程式人生 > >Shell 指令碼學習記錄(一)

Shell 指令碼學習記錄(一)


1. echo 是向 視窗輸入文字 ,例如: echo “hello”
2. 將檔案儲存為test.sh 執行命令為 ./test.sh
3. 定義變數,或者字串不用申明,例如:value=1 string=”hello world”
注意:變數名和等號之間不能加空格
4.使用變數 在前面加上string=happyechostring 或者 echo${string}
注意:{ }用來讓系統更加清晰的認識到變數的界限,可加可不加。
5.只讀 變數 前面加上 readonly 例如:string=”happy new year”
readonly string 使得變數變為不能修改的變數。
6.unset 可以刪除變數 例如:unset value
7.‘ ’單引號。和C語言中的“”一樣 是字串的限定符,保持裡面的字面值,不作出解釋,
8.“”雙引號會解析變數。
9. `反引號執行並引用一個命令的符號。
下面一張圖看三種符號的區別:
這裡寫圖片描述

‘’中的字元不做解釋,“”裡面的做出解釋 “中的可執行其中的命令。
10.\ 轉義字元,和c中一樣,可以對符號進行轉義,取它的字面意思,去掉特殊含義
11.整數間比較的 -eq 等於、-nq 不等於 、-lt 小於 、-gt大於、-le 小於等於 、-ge 大於等於
12.邏輯運算子:!邏輯非 -a 邏輯與 -o 邏輯或
13. 從命令列上獲得值 read val,從命令列獲得val的值
14. 特殊的命令 12 命令列第二個引數 。。。。。[email protected] 是命令列所有引數
四、基本語法
1.條件語句
①. if/else/elif/
if 、else 語句 和C語言中差不多 用於條件分支。注意 if 中判斷語句0為真,1為假,這和C中的語法有區別,注意區分。
注意:if語句塊後面要跟fi來結束if語句

這裡寫圖片描述
2.case/esac
用法和C語言中switch /case語句一樣 用esac語句結束語句塊。
演示:
這裡寫圖片描述
這裡寫圖片描述
先寫到這兒 其他語法見下文

相關推薦

Shell 指令碼學習記錄

1. echo 是向 視窗輸入文字 ,例如: echo “hello” 2. 將檔案儲存為test.sh 執行命令為 ./test.sh 3. 定義變數,或者字串不用申明,例如:value=1 string=”hello world” 注意:變數名和等號之間不能加空格 4.使用變數 在前面加

shell指令碼學習筆記

 一、位於第一行的#! 當一個檔案中開頭是#!時,核心會掃描改行的剩餘部分,看是否存在可用來執行程式的直譯器的完整路徑,此外核心還會掃描是否有一個選項要傳給直譯器,核心會以指定的選項來引用直譯器,在搭配命令列的其他部分。 例如: 有一個csh指令碼,名為/usr/ucb

shell指令碼學習筆記shell指令碼變數語法

sh檔案用"#!"開頭表示用什麼來執行程式,如"#!/bin/bash" 表示用bin/bash來執行sh sh檔案,預設是文字檔案,是不可以執行的,可以通過chmod允許sh檔案可以被執行,chmod命令說明如下: chmod----改變一個或多個檔案的存取模式(mode) chmod

linux學習記錄

設備 ima 權限 logs spf style www. 塊設備 alt 1、各種顏色文件的含義 黃色表示設備文件 灰色表示其它文件 白色表示普通文件 綠色表示可執行文件; 紅色表示壓縮文件; 淺藍色表示鏈接文件; 灰色表示其它文件; 紅色閃爍表示鏈接的文件有問題了;

vue學習記錄—— vue開發調試神器vue-devtools安裝

shell gist 項目 擴展工具 code blog manifest false .net 網上有些貼子少了至關重要的一步導致我一直沒裝上, 切記!!install後還需build,且install和build都在vue-devtools文件夾內執行 github下載

微信小程序學習記錄

地址 n) taf forest 對象復制 strong display exp 價格 如何定義一個全局變量: 1,在根目錄下app.js中添加 App({ globalData: { g_isPlayingMusic : false, g_curre

SpringBoot學習記錄

not website snap 對象 mpi method oid pom pid 1. Spring的Java配置方式 Java配置是Spring4.x推薦的配置方式,可以完全替代xml配置。 1.1. @Configuration 和 @Bean Spring的Jav

python+selenium+unittest+pageobject學習記錄

exceptio 單元測試框架 回憶 stc ui自動化 import list 測試的 add 學習selenium已經一個月了,簡單概括一下學習的步驟,方便以後回憶。 一. 自動化測試的一些概念   1.分層的自動化測試:unit-->service-->U

【OpenAI-Gym】學習記錄gym安裝

前言 最近在學習強化學習( Reinforcement Learning ),自學過程包括理論學習部分與演算法學習部分。理論學習部分安利一本書籍 Richard S. Sutton 的 Reinforcement Learning : An Introduction;演算法學習主要為使用

Linux命令列與shell指令碼程式設計大全

一、基本 bash shell命令 建立檔案 : touch 連結檔案:符號連結:是一個實實在在的檔案,兩個通過符號連結在一起的檔案,彼此的內容並不相同。使用ln -s命令。 硬連結:會建立獨立的虛擬檔案,其中包含了原始檔案的資訊及位置。但他們從根本上而言是同一個檔案。原始檔案必須事

Centos6.10下Open-falcon學習記錄——自定義資料採集、歷史查詢、程序監控

記錄了學習過程,官方文件地址http://book.open-falcon.org/zh_0_2/usage/getting-started.html 另外還看了Open-falcon作者的寫的設計理念的文,見open-falcon編寫的整個腦洞歷程 1 自定義資料採集 自定義的資料要求

redis入門學習記錄

1、linux線上下載Redis ,官網地址:https://redis.io/download目前,最新的Redist版本為redis-5.0.0,使用wget下載 進入/usr/local/src目錄,使用如下命令: wget http://download.redis.io/releases/red

redis入門學習記錄 redis入門學習記錄

繼第一節 redis入門學習記錄(一)之後,我們來學習redis的基本使用。 接下來我們看看/usr/local/redis/bin目錄下的幾個檔案作用是什麼?   redis-benchmark:redis效能測試工具   redis-check-aof:檢查aof日誌的工具   redi

不平等博弈問題學習記錄

聽到博弈問題,第一個想到的想必是用SG函式做的博弈題,就比如Nim遊戲 Nim遊戲:有N堆石子,每次選一堆石子,拿走若干石子(不能不取),先不能取的人輸 定義個SG函式 對於SG函式,大致就記錄兩個東西吧 定義SG函式g(x)=mex{ g(y) |

Spark學習記錄Spark 環境搭建以及worldCount示例

安裝Spark ------------------- 首先,安裝spark之前需要先安裝scala,並且安裝scala的版本一定要是將要安裝的spark要求的版本。比如spark2.1.0 要求scala 2.11系列的版本,不能多也不能少 1.下載spark-2.1.0-bin-hadoop

Java學習記錄java開發環境配置 及第一個執行程式

一. 下載jdk檔案 選擇對應版本下載即可安裝(本文以windows 64位為例) 安裝目錄儘量放至同一空白目錄下 安裝成功! 二. jdk環境配置 1. 點選此電腦右鍵點選屬性 2. 點選高階系統設定

OpenCV學習記錄:使用haar分類器進行人臉識別

https://blog.csdn.net/hongbin_xu/article/details/74202193 OpenCV支援的目標檢測的方法是利用樣本的Haar特徵進行的分類器訓練,得到的級聯boosted分類器(Cascade Classification)。

ES6 思考學習記錄

1.ES模組化如何使用,開發環境如何打包? 使用-> 語法是怎麼樣的。 開發環境-> webpack,rollup... 語法:在export裡面分為export defalut 和export ,export default 就是預

node 學習記錄

第一部分 NODE.JS基礎知識 node.js是一個JavaScript執行平臺,它的顯著特徵是它的非同步和事件驅動機制,以及小巧精悍的標準庫。目前有兩個版本LST以及當前版。 node.js和JavaScript的優勢之一就是單執行緒程式設計模型。多執行緒一般會引入bug。 非阻塞IO:

VRTK學習記錄

一,VRTK環境搭建 前提:匯入SteamVR 1.新建一個空物體改名字為[VRTK_SDK_Manager],並新增VRTK_SDK_Manager指令碼 2…新建一個空物體改名字為[VRTK_SDK_Setup],並新增VRTK_SDK_Setup指令碼 記