Shell腳本

来源:https://www.cnblogs.com/jiuone/archive/2019/07/04/11133280.html
-Advertisement-
Play Games

執行Shell 1. 輸入完整腳本文件路徑即可執行。 提示:許可權不夠,則執行 。 2. 執行 。 簡單的腳本 shell !/bin/bash 上面的是指定解釋器 echo $PATH echo 路徑輸出完畢! echo [ 條件表達式 ] 條件表達式兩側需要各有一個空格。 使用 返回條件表達式結果 ...


執行Shell

  1. 輸入完整腳本文件路徑即可執行。

    提示:許可權不夠,則執行chmod u+x 文件名

  2. 執行bash shell文件名稱

簡單的腳本

#!/bin/bash
# 上面的是指定解釋器
echo $PATH
echo 路徑輸出完畢!
echo `date +%Y%M%d`

接受輸入參數

  • 執行shell文件時,在文件後使用空格隔開多個輸入參數。

  • shell文件中使用輸入參數

    參數 說明
    $n 用戶輸入的第n個參數,從1開始
    $# 用戶輸入的擦書總數
    $* 用戶輸入的所有參數值,使用空格隔開

條件測試語法

  • Shell 腳本中的條件測試語法可以判斷表達式是否成立,

    若條件成立則返回數字 0,否則便返回其他隨機數值。

語法格式:

[ 條件表達式 ]
  • 條件表達式兩側需要各有一個空格。
  • 使用$?返回條件表達式結果。
  • 條件表達式可以是變數也可以是具體的值。
  • &&表示當前面的命令執行成功後才會執行它後面的命令。
  • ||表示當前面的命令執行失敗後才會執行它後面的命令。
  • !示把條件測試中的判斷結果取相反值。

測試運算符

運算符 說明
-d 測試文件是否為目錄類型
-e 測試文件是否存在
-f 判斷是否為一般文件
-r 測試當前用戶是否有許可權讀取
-w 測試當前用戶是否有許可權寫入
-x 測試當前用戶是否有許可權執行
-eq 兩個數字是否等於
-ne 兩個數字是否不等於
-gt 數字A是否大於數字B
-lt 數字A是否小於數字B
-le 數字A是否等於或小於數字B
-ge 數字A是否大於或等於數字B
= 比較字元串內容是否相同
!= 比較字元串內容是否不同
-z 判斷字元串內容是否為空

實例:

[ 1 -eq 2 ] || echo '這個說法是對的'

流程式控制制語句

if語句

語法:

if 條件測試語句 then
  命令...
fi

if-else語句

語法:

if 條件測試語句 then
  命令...
else
  命令...
fi

case語句

語法:

case 變數值 in
值1)
  命令..
  ;;
值2)
  命令..
  ;;
  
  ...
  
*)
  預設的命令..
  ;;
esac
  • *代表不在所列出範圍內的值。
  • 匹配值可以有多個。

條件迴圈語句

for迴圈

語法:

for 變數名 in 取值列表
do
  命令...
done
  • 取值列表可以是命令查出來的值。
  • 迴圈體內可以使用$變數名的形式獲取當前變數的值。

while迴圈

語法:

while 條件測試語句
do
  命令...
done

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • REST 全稱是 Representational State Transfer,有人說它是一種風格,並非一種標準,個人覺得挺有道理。它本身並沒有創造新的技術、組件與服務,更像是告訴大家如何更好地使用現有Web標準中的一些準則和約束,也不可否認,RESTFul 是目前最流行的 API 設計規範,用於 ...
  • ImageSharp是對NetCore平臺擴展的一個圖像處理方案,以往網上的案例多以生成文字及畫出簡單圖形、驗證碼等方式進行探討和實踐。 今天我分享一下所在公司項目的實際應用案例,導出微信二維碼圖片,圓形頭像等等。 一、源碼獲取 Git項目地址:https://github.com/SixLabor ...
  • 在一般的檢索界面中,基於界面易用和美觀方便的考慮,我們往往只提供一些常用的條件查詢進行列表數據的查詢,但是有時候一些業務表欄位很多,一些不常見的條件可能在某些場景下也需要用到。因此我們在通用的查詢條件之外,一般可以考慮增加 一個高級查詢的模塊來管理這些不常見條件的查詢處理。本篇隨筆基於這個需求,綜合... ...
  • 在首頁中,我們一般會用列表來展示信息。為了使用ASP.NET MVC Core強視圖帶給我們的好處(模型綁定、輸入校驗等等),我們需要創建一個ViewModel來進行模型綁定。因為ABP提倡為每個不同的應用服務提供不同的Dto進行數據交互,展示對應Dto。那我們創建的ViewModel就需要包含這幾... ...
  • 在Web應用開發或介面開發時,處理請求介面IHttpHandler隨處可見,那麼我們這次來簡單聊一下這個介面。 ASP.NET響應Http請求時常用的兩個處理介面,分別是IHttpHandler和IHttpModule。 1、IHttpHandler 一般用來處理一類特定的請求,比如對每個*.asp ...
  • 一、前言 MySQL調優對於很多程式員而言,都是一個非常棘手的問題,多數情況都是因為對資料庫出現問題的情況和處理思路不清晰。在進行MySQL的優化之前必須要瞭解的就是MySQL的查詢過程,很多的查詢優化工作實際上就是遵循一些原則讓MySQL的優化器能夠按照預想的合理方式運行而已。 今天給大家講解My ...
  • 線上查詢及幫助命令、文件和目錄操作命令、查看文件及內容處理命令、vim命令行文本編輯器、信息顯示命令、文件壓縮及解壓縮和搜索文件命令 ...
  • docker開啟2376埠CA認證及IDEA中一鍵部署docker項目 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...