『Shell編程』學習記錄

来源:https://www.cnblogs.com/xueyou/archive/2019/03/18/Shell.html
-Advertisement-
Play Games

掌握Linux下shell的使用方法。主要介紹Linux shell的語法結構、變數定義以及賦值引用、標點符號、控制語句等。 ...


例1.

$ cat ex1
date
pwd
cd ..

$ bash ex1

# 運行,顯示當前日期和當前目錄,但沒有執行返回上級目錄,因為執行的時候終端會產生一個子shell(類似於C語言調用函數),子shell去執行我的腳本,在子shell中已經切換了目錄了,但是子shell一旦執行完,馬上退出,子shell中的變數和操作全部都收回。回到終端根本就看不到這個過程的變化。

 

例2.

$ cat ex2
#!/bin/bash
# If no arguments, then listing the current directory.
# Otherwise, listing each subdirectory.
if  test  $# = 0
then  ls  .
else
    for  i
    do
      ls  -l  $i | grep  '^d'
    done
fi

①.

$0 當前腳本的文件名
$n 傳遞給腳本或函數的參數。n 是一個數字,表示第幾個參數。例如,第一個參數是$1,第二個參數是$2。
$# 傳遞給腳本或函數的參數個數。
$* 傳遞給腳本或函數的所有參數。
$@ 傳遞給腳本或函數的所有參數。被雙引號(" ")包含時,與 $* 稍有不同,下麵將會講到。
$? 上個命令的退出狀態,或函數的返回值。
$$ 當前Shell進程ID。對於 Shell 腳本,就是這些腳本所在的進程ID。

②.test 命令用於檢查某個條件是否成立,它可以進行數值、字元和文件三個方面的測試。

③.fi 結束if語句

④.ls(選項)(參數)

參數:指定要顯示列表的目錄,也可以是具體的文件。

⑤.grep  '^d'

正則表達式

^ (Caret) = match expression at the start of a line, as in ^A.
$ (Question) = match expression at the end of a line, as in A$

⑥.符號含義

" / " :根目錄

" ~ " :用戶主目錄的縮寫。例如當前用戶為hello,那麼" ~ "展開來就是:/Users/hello

" . " :當前目錄

".." :父目錄

 

# 運行,不帶參數則列出當前目錄,帶參數則列出參數指定目錄或文件(文件名開頭匹配d的)

 


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

-Advertisement-
Play Games
更多相關文章
  • 在網站運維過程中,有些人的網站遭遇過DDoS攻擊,DDos攻擊又叫做分散式拒絕服務攻擊。DDos攻擊將多個電腦聯合起來作為攻擊平臺,對一個或多個目標發動DDoS攻擊,從而成倍地提高拒絕服務攻擊的威力。該攻擊方式利用目標系統網路服務功能缺陷或者直接消耗其系統資源,使得該目標系統無法提供正常的服務。該 ...
  • 對於很多運維人員來說,伺服器安全是至關重要的,必須確保雲伺服器上的網站不被惡意入侵以及安裝木馬病毒程式。現在很多公司以及個人習慣使用雲伺服器,如阿裡雲、騰訊雲、百度雲等,當雲伺服器被黑客入侵的時候,排查的相關方法依舊跟自建伺服器類似。如果使用的是阿裡雲伺服器,在網站等應用程式被掛馬蠕蟲或者伺服器被入 ...
  • 本文介紹樹莓派(raspberry pi)在linux c 環境下的硬體pwm配置及使用方法。 1. 下載安裝wiringPi 此步驟建議參考官網指南 http://wiringpi.com/download-and-install/,wiringPi提供了對樹莓派的硬體IO訪問,包括GPIO/I2 ...
  • 首先,請廣大win10受害者原諒小菜用一個如此長的標題來吸引你們,為了盡最大努力幫助那些飽受win10自動更新折磨的朋友們,小菜不得已出此下策,望見諒! windows 10是一個神奇的操作系統,當你沉浸在快樂的游戲中,當你痴迷的研究頂尖技術,當你專心撰寫文檔,當你安靜的欣賞一部奧斯卡電影,win1 ...
  • 轉載自:“趣IT”微信公共號 前言 批處理文件(batch file)包含一系列 DOS命令,通常用於自動執行重覆性任務。用戶只需雙擊批處理文件便可執行任務,而無需重覆輸入相同指令。編寫批處理文件非常簡單,但難點在於確保一切按順序執行。編寫嚴謹的批處理文件可以極大程度地節省時間,在應對重覆性工作時尤 ...
  • 詳見鏈接https://blog.csdn.net/weixin_42266606/article/details/80879571 (此處我的本地用戶名root,密碼root;遠程用戶名root,密碼12345) 1.下載 MySQL 所需要的安裝包 網址:https://dev.mysql.co ...
  • linux基礎學習筆記 目錄: 1.磁碟分區 2.目錄結構 3.linux命令的分類 4.常見的linux命令 1.命令編輯的幾個輔助操作 2.命令幫助 3.查看文件內容cat,more,less,head,tail 4.統計命令wc 5.檢索和過濾文件內容grep命令 6.壓縮和解壓縮:gzip( ...
  • 這兩天,突發奇想,想著用著微軟家的windows系統很多年了,也想嘗試一下其他的操作系統。很快的就想到了Linux操作系統,它不是面向用戶的,而是面向伺服器的,在伺服器端的市場中占了很大的市場份額,備受好評。 目錄 + Linux特點 + 特別說明 + yum常用命令 + 程式相關命令 + 防火牆相 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...