shell命令簡單使用

2016年10月10日
1.如何執(zhí)行sh文件 sh test.sh


Paste_Image.png

2.一般都以如下方式開頭 告訴內(nèi)核執(zhí)行的是shell 腳本

#! /bin/sh

3.echo輸入

#! /bin/bash
#Autor:wangyu
#Copyright
#script follows here:

echo "What is your name?"
read PESON
echo "Hello, $PESON"

4.echo -e (\n特別處理)

#正則表達(dá)式
 echo -e "cat\nfin\nfan" | awk '/f.n/'
Paste_Image.png

二.常用shell運(yùn)算
1.bash 無法執(zhí)行算術(shù)運(yùn)算

#1.bash 無法執(zhí)行算術(shù)運(yùn)算,需要添加expr 標(biāo)識
val=`expr 2 + 2`
echo "Hello, ${val}"  #Hello, 4

2.判斷是否是目錄或文件

#2.判斷是否是目錄或文件
name=ShellTest
project_path=${HOME}/.jenkins/workspace/${name}
cd ${project_path}
time="$(date +"%Y%m%d")"

filePath="${time}"
#2.1檢測文件是否是一個(gè)目錄(一天只構(gòu)建一個(gè)目錄)
<if [ ! -d “${dir}” ] 目錄判斷;if [ ! -f "${file}” ] 文件判斷>
if [ ! -d "${filePath}" ]
then
    echo "this is not  a directory ${filePath}"
    mkdir -p ${filePath}
else
    echo "file is a directory ${filePath}"
fi
Paste_Image.png

3.數(shù)組使用

array_name=("PRO" "DEV" "UAT")
for i in ${array_name[@]}
do
    echo "hello ${i}"
done
Paste_Image.png

4.輸出xcode工程的名字( | 管道輸入 一個(gè)命令的輸出是另一個(gè)命令的輸入)

name=ShellTest
project_path=${HOME}/.jenkins/workspace/${name}
cd ${project_path}
project_name=$(ls | grep xcodeproj | awk -F .xcodeproj '{print $1}')
echo "project_name = ${project_name}"
Paste_Image.png

5.創(chuàng)建html文件并備份 (touch還會修改文件的修改時(shí)間)

name=ShellTest
project_path=${HOME}/.jenkins/workspace/${name}
cd ${project_path}
root="/usr/local/var/www"
home="317/iOS"
remote="${root}/${home}"
remoteDirRoot="${root}/317"
dirRoot="${remoteDirRoot}/dir"
dirPath="${dirRoot}/download.html"
remoteDirPath="${dirPath}"      #download.html
backupRoot="${dirRoot}/backup"
time="$(date +"%Y%m%d_%H%M%S")"
backupPath="${backupRoot}/download${time}.html"   #download20161015_154915.html

#remote  ios
if [ ! -d "${remote}" ]; then
    mkdir -p ${remote}
fi
# /dir/backup
if [ ! -d "${backupRoot}" ]; then
    mkdir -p ${backupRoot}
fi

#5.1 html文件部分
DirHtmlHeader="<html>
    <head><title>317hu iOS下載目錄</title></head>
    <meta charset=\"UTF-8\">
<div style=\"text-align:center;\">
    <a style=\"margin-top:10%;display:inline-block;font-size:20px;\"></a><br>"
DirHtmlContent="    <a style=\"font-size:15px;\" href=\"../../${home}/${downPath}\"><h1>${time}-${bundleShortVersion}</h1></a>"
DirHtmlTail="</div>
</html>"
#5.2如果沒有創(chuàng)建改文件,如果有的話追加
if [ ! -f "${remoteDirPath}" ]; then
    touch ${dirPath} #創(chuàng)建文件
    echo "${DirHtmlHeader}" >> ${dirPath}
    echo "${DirHtmlContent}" >> ${dirPath}
    echo "${DirHtmlTail}" >> ${dirPath}
else
    echo "wy3,${remoteDirPath}"
    echo "${DirHtmlHeader}" >> tmp.html
    echo "${DirHtmlContent}" >> tmp.html
    #5.2 插入尾巴部分(用原來文件去掉公告部分的頭五行)
    sed "1,5d" ${remoteDirPath} >> tmp.html
    mv tmp.html ${dirPath}
fi
cp ${dirPath} ${backupPath}
Paste_Image.png

如果您發(fā)現(xiàn)本文對你有所幫助,如果您認(rèn)為其他人也可能受益,請把它分享出去。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,709評論 0 5
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個(gè)...
    _小老虎_閱讀 6,321評論 0 10
  • 一,shell題記 不懂shell的程序員不是好程序員,學(xué)習(xí)shell是為了自動化,使用自動化可以非常有效的提高工...
    架構(gòu)師小秘圈閱讀 8,780評論 3 70
  • 特別說明:以下內(nèi)容來自簡書,鏈接為原文出處,一切權(quán)益歸原作者所有,在此感謝原作者的分享,大家可以點(diǎn)擊以下鏈接查看原...
    沈祥佑閱讀 621評論 0 4
  • 用了caffe有一段時(shí)間了,感覺自己寫shell腳本的能力有待提高,特地從菜鳥筆記處系統(tǒng)的看了一遍,其實(shí)學(xué)習(xí)基礎(chǔ)就...
    yichen_china閱讀 1,878評論 2 30

友情鏈接更多精彩內(nèi)容