日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Shell编程基础---shell的结构、执行及变量

發(fā)布時間:2025/3/19 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shell编程基础---shell的结构、执行及变量 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

本文索引:

  • shell腳本介紹
  • shell腳本結(jié)構(gòu)和執(zhí)行
  • date命令用法
  • shell腳本中的變量

shell腳本介紹

shell是一種腳本語言,是一名運維工程師所必需掌握的最基本的能力。通過使用shell可以實現(xiàn)簡單的自動化運維,從而減輕我們的工作壓力,增加實際的工作效率。

shell腳本是系統(tǒng)命令的集合,通過使用shell的邏輯判斷、循環(huán)語法、自定義的函數(shù),可以實現(xiàn)更復(fù)雜功能腳本的編寫。配合Linux的crond服務(wù),能夠?qū)崿F(xiàn)周期性操作的自動化運行,從而大大減少運維工作量。

shell腳本的學(xué)習(xí)需要做到多學(xué)多練,熟能生巧。另外Linux基礎(chǔ)知識也不容忽視,它是編寫一個shell腳本的基礎(chǔ)。只有勤學(xué)、多練,多思考,這樣才能盡快、更好的學(xué)好shell編程。


Shell腳本結(jié)構(gòu)和執(zhí)行方法

一個shell腳本是以.sh結(jié)尾的文件,文件開頭#!/bin/bash。 對于本機而言#!/bin/bash并不是必須的,但是對于其他機器上,不加開頭就不一定可以執(zhí)行,它的意思即其后的代碼是由/bin/bash命令進行解析的。所以編寫shell時最好都寫上。

范例:example1.sh

vim example1.sh #!/bin/bash # by castiel # 2018-02-05 echo "hello world"

由#開頭的行在shell中為注釋行(#!除外),此外有些特殊的腳本中#開始的行并一定是注釋,例如chkconfig腳本。

執(zhí)行腳本的方法

  • 先賦予執(zhí)行權(quán)限,再./執(zhí)行
  • # 這里腳本在當(dāng)前工作目錄中,執(zhí)行其他路徑下的腳本需要使用絕對路徑 chmod +x example1.sh ./example
  • 使用bash命令
  • bash example1.sh

    查看腳本執(zhí)行過程

    sh -x example1.sh

    檢測腳本語法

    # 沒信息表明沒有語法錯誤 sh -n example1.sh

    date命令用法

    date命令在shell腳本內(nèi)十分有用,它可以生成想要的時間格式。

    默認date命令顯示

    [root@localhost shell]# date Mon Feb 5 19:12:54 CST 2018

    常用的幾種時間格式表示

    # 日期 YYYY-MM-DD 格式 date +%F == date +%Y-%m-%d 2018-02-05# 時間 HH:MM:SS 格式 date +%T == date +%H:%M:%S# 幾天前、后... date -d "+1 day" // 一天后(明天的日期) date -d "-1 day" // 一天前(昨天的日期) date -d "-1 month" // 一月前(上個月的今日) date -d "-1 min" // 一分鐘前# 自1970-01-01后的秒數(shù) date +%s# 將+%s的秒數(shù)換為具體時間 date -d @1504697280# 將具體時間描述換算為秒數(shù) date +%s -d "2018-02-05 19:30:00"#星期幾即本年的第幾周 date +%w --> 1 //星期一 date +%W --> 06 //18年的第6周 date +%a --> Mon //周一 date +%A --> Monday //周一全稱# 月份 date +%b --> Feb date +%B --> February

    Shell腳本的變量

    shell變量的使用場景

    字符串替換

    shell的編寫過程中,如果某些字符串多次使用并且字符串的長度較長時可以使用shell變量進行代替,在使用時使用$變量進行操作,減少重復(fù)勞動。例如某些命令的絕對路徑表示。

    條件判斷

    此外在shell條件判斷語句時,也常用變量,例如:

    if[ $a -gt 1 ] then... fi

    命令引用

    引用某個命令的結(jié)果時,將命令的結(jié)果賦予某個變量,在后續(xù)便于進行判斷等條件處理。例如 n=wc -l 1.txt

    命令交互

    寫于用戶交互的腳本時,變量也是必不可少的。例如:

    read -p "Input a number: " n echo $n

    內(nèi)置變量

    shell內(nèi)有一些內(nèi)置變量,其使用場景還是比較廣泛的。

    $0 --> 腳本本身 $1 --> 腳本后接的第一個參數(shù) $2 --> 腳本后接的第二個參數(shù) $# --> 參數(shù)的個數(shù) $@ -->

    數(shù)學(xué)運算

    shell內(nèi)可以進行簡單的數(shù)學(xué)運算:

    a=1 b=2 c=$(($a+$b)) //或c=$[$a+$b]

    轉(zhuǎn)載于:https://my.oschina.net/LuCastiel/blog/1618783

    總結(jié)

    以上是生活随笔為你收集整理的Shell编程基础---shell的结构、执行及变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。