国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

運(yùn)維Shell腳本小試牛刀(三)::$(cd $(dirname $0); pwd)命令詳解

這篇具有很好參考價(jià)值的文章主要介紹了運(yùn)維Shell腳本小試牛刀(三)::$(cd $(dirname $0); pwd)命令詳解。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

運(yùn)維Shell腳本小試牛刀(三)::$(cd $(dirname $0); pwd)命令詳解,運(yùn)維,服務(wù)器,linux



運(yùn)維Shell腳本小試牛刀(一)

運(yùn)維Shell腳本小試牛刀(二)

運(yùn)維Shell腳本小試牛刀(三)::$(cd $(dirname $0); pwd)命令詳解

運(yùn)維Shell腳本小試牛刀(四): 多層嵌套if...elif...elif....else fi_蝸牛楊哥的博客-CSDN博客






一: $(cd $(dirname $0);?pwd) 命令詳解

path = $(cd $(dirname $0); pwd)解析:

1、取當(dāng)前運(yùn)行腳本的所在路徑: $0

2、取當(dāng)前腳本所在路徑的父目錄: dirname

3、取返回的父目錄的值: $(dirname $0)

4、cd到返回的父目錄: cd “$(dirname “$0”)”

5、輸出地址: $(cd $(dirname $0); pwd)

6、取輸出的地址,并賦值給path: path = $(cd (dirname $0),pwd)

$0 獲取運(yùn)行腳本文件所在路徑,在命令行種執(zhí)行結(jié)果為 -bash

[root@www ~]# echo "$0"
-bash


二:?Linux中變量#,@,0,1,2,*,$$,$? 普及

Linux中變量#,@,0,1,2,*,$$,$?的含義

$# 是傳給腳本的參數(shù)個(gè)數(shù)

$0?是腳本本身的名字

$1?是傳遞給該shell腳本的第一個(gè)參數(shù)

$2?是傳遞給該shell腳本的第二個(gè)參數(shù)

$@ 是傳給腳本的所有參數(shù)的列表

$* 是以一個(gè)單字符串顯示所有向腳本傳遞的參數(shù),與位置變量不同,參數(shù)可超過9個(gè)

$$ 是腳本運(yùn)行的當(dāng)前進(jìn)程ID號

$? 是顯示最后命令的退出狀態(tài),0表示沒有錯(cuò)誤,其他表示有錯(cuò)誤


區(qū)別:@@*

  • 相同點(diǎn):都是引用所有參數(shù)
  • 不同點(diǎn):只有在雙引號中體現(xiàn)出來。假設(shè)在腳本運(yùn)行時(shí)寫了三個(gè)參數(shù)(分別存儲在112?3)則"3)則"*" 等價(jià)于 “112?3"(傳遞了一個(gè)參數(shù));而“3"(傳遞了一個(gè)參數(shù));而“@" 等價(jià)于 "1""1""2" "$3"(傳遞了三個(gè)參數(shù))

?小試牛刀一:?

[root@www tools]# cat commandList.sh

echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"
echo "show parm list:$*"
echo "show process id:$$"
echo "show precomm stat: $?"


輸出:

[root@www example]# ./commandList.sh 1 20 111 2 5 6 7 3
number:8
scname:./commandList.sh
first :1
second:20
argume:1 20 111 2 5 6 7 3
show parm list:1 20 111 2 5 6 7 3
show process id:3465
show precomm stat: 0
?


小試牛刀二:

[root@www example]# cat commandOutList.sh
#!/bin/sh
num=$#
name=$0
echo "number:$num"
echo "scname:$name"
echo $0
echo $1
echo $2

for ((i=0; i<$num; i++))
do
? ? echo "$i"
done

echo "argume:$@"
for key in $@
do
? ? echo $key
done
echo "-----------------"
for key in "$@"
do
? ? echo $key
done
echo "-----------------------------"
for key2 in $*
do?
? ? echo $key2
done
echo "-----------------"
for key2 in "$*"
do?
? ? echo $key2
done

echo "show process id:$$"
echo
echo "show precomm stat: $?"
?


輸出內(nèi)容:

[root@www example]# ./commandOutList.sh?
number:0
scname:./commandOutList.sh
./commandOutList.sh


argume:
-----------------
-----------------------------
-----------------

show process id:3514

show precomm stat: 0
?

[root@www tools]#?sudo yum install rsync -y
rsync和scp區(qū)別:用rsync做文件的復(fù)制要比scp的速度快,rsync只對差異文件做更新。scp是把所有文件都復(fù)制過去。?

三: 批量拷貝腳本

創(chuàng)建分發(fā)腳本文件:xsync? ?腳本內(nèi)容

[root@www tools]# ?cat ~/bin/xsync?

#!/bin/bash
#1. 判斷參數(shù)個(gè)數(shù)
if [ $# -lt 1 ]
then
? ? echo Not Enough Arguement!
? ? exit;
fi

#2. 遍歷集群所有機(jī)器|docker0|docker1|docker2|?
for host in docker0 docker1 docker2
do
? ? echo ==================== ?$host ?====================
? ??
? ? #3. 遍歷所有目錄,挨個(gè)發(fā)送
? ? for file in $@
? ? do
? ? ? ? #4. 判斷文件是否存在
? ? ? ? if [ -e $file ]
? ? ? ? ? ? then
? ? ? ? ? ? ? ? #5. 獲取父目錄
? ? ? ? ? ? ? ? pdir=$(cd -P $(dirname $file); pwd)
? ? ? ? ? ? ? ? #6. 獲取當(dāng)前文件的名稱
? ? ? ? ? ? ? ? fname=$(basename $file)
? ? ? ? ? ? ? ? ssh $host "mkdir -p $pdir"
? ? ? ? ? ? ? ? rsync -av $pdir/$fname $host:$pdir
? ? ? ? ? ? else
? ? ? ? ? ? ? ? echo $file does not exists!
? ? ? ? fi
? ? done
done

?


小試牛刀一:

將jdk分發(fā)到docker1,docker2服務(wù)器上

[root@www bin]# ./xsync ?/usr/local/tools/jdk-8u371-linux-x64.tar.gz ?
==================== docker0 ====================
sending incremental file list

sent 66 bytes ?received 12 bytes ?156.00 bytes/sec
total size is 139,219,380 ?speedup is 1,784,863.85
==================== docker1 ====================
sending incremental file list
jdk-8u371-linux-x64.tar.gz

sent 139,253,473 bytes ?received 35 bytes ?39,786,716.57 bytes/sec
total size is 139,219,380 ?speedup is 1.00
==================== docker2 ====================
sending incremental file list
jdk-8u371-linux-x64.tar.gz

sent 139,253,473 bytes ?received 35 bytes ?39,786,716.57 bytes/sec
total size is 139,219,380 ?speedup is 1.00



小試牛刀二:

[root@www bin]# ./xsync /usr/local/zookeeper/

將解壓后的zookeeper文件全拷貝到docker1|docker2機(jī)器:

[root@www bin]# ./xsync /usr/local/zookeeper/
==================== docker0 ====================
sending incremental file list

sent 61,605 bytes ?received 227 bytes ?123,664.00 bytes/sec
total size is 390,744,347 ?speedup is 6,319.45
==================== docker1 ====================
sending incremental file list

sent 61,613 bytes ?received 235 bytes ?123,696.00 bytes/sec
total size is 390,744,347 ?speedup is 6,317.82
==================== docker2 ====================
sending incremental file list

sent 61,613 bytes ?received 235 bytes ?123,696.00 bytes/sec
total size is 390,744,347 ?speedup is 6,317.82
?
?文章來源地址http://www.zghlxwxcb.cn/news/detail-683474.html


到了這里,關(guān)于運(yùn)維Shell腳本小試牛刀(三)::$(cd $(dirname $0); pwd)命令詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 網(wǎng)頁學(xué)習(xí)-小試牛刀

    網(wǎng)頁學(xué)習(xí)-小試牛刀

    分為三大部分: HTML 、 CSS 和 JavaScript 。 HTML(Hyper Text Markup Language,即超文本標(biāo)記語言),網(wǎng)頁骨架。 CSS(Cascading Style Sheets,層疊樣式表),使頁面變得美觀、優(yōu)雅,網(wǎng)頁皮膚。 JavaScript(簡稱JS,是一種腳本語言),實(shí)現(xiàn)實(shí)時(shí)、動(dòng)態(tài)、交互的頁面功能,網(wǎng)頁肌肉。 學(xué)習(xí)目的

    2023年04月22日
    瀏覽(46)
  • Mapreduce小試牛刀(1)

    Mapreduce小試牛刀(1)

    1.與hdfs一樣,mapreduce基于hadoop框架,所以我們首先要啟動(dòng)hadoop服務(wù)器 --------------------------------------------------------------------------------------------------------------------------------- 2.修改hadoop-env.sh位置JAVA_HOME配置,在JAVA_HOME前面加上export,重啟主虛擬機(jī),最好也把另外兩個(gè)節(jié)點(diǎn)同位置的

    2024年02月04日
    瀏覽(23)
  • verilator——牛刀小試

    verilator——牛刀小試

    安裝verilator可見:https://blog.csdn.net/qq_40676869/article/details/132648522?spm=1001.2014.3001.5501 編寫一個(gè)異或的電路模塊如下: top.v 編寫C++測試文件 tb_top.cpp 編譯并運(yùn)行 –cc 將.v文件翻譯成c++ –exe 創(chuàng)建可執(zhí)行文件 –build verilator自動(dòng)進(jìn)行make –trace 記錄波形 波形如下: github鏈接:https:/

    2024年02月10日
    瀏覽(24)
  • 快速上手kettle(二)小試牛刀

    快速上手kettle(二)小試牛刀

    目錄 一 、前言 二 、兩個(gè)小目標(biāo) 三、 kettle核心概念介紹 3.1 轉(zhuǎn)換 3.1.1 步驟(Step) 3.1.2 跳(Hop) 3.1.3 元素?fù)?jù) 3.1.4 數(shù)據(jù)類型 3.1.5 并發(fā)執(zhí)行 3.2 作業(yè) 四、實(shí)踐操作 4.1 案例1 將csv文件轉(zhuǎn)換成excel文件 4.1.1 在kettle中新建一個(gè)轉(zhuǎn)換 4.1.2選擇輸入控件并設(shè)置 4.1.3 選擇輸出控件并設(shè)置 4.

    2024年02月06日
    瀏覽(25)
  • 【LED子系統(tǒng)】八、小試牛刀

    個(gè)人主頁:董哥聊技術(shù) 我是董哥,高級嵌入式軟件開發(fā)工程師,從事嵌入式Linux驅(qū)動(dòng)開發(fā)和系統(tǒng)開發(fā),曾就職于世界500強(qiáng)公司! 創(chuàng)作理念:專注分享高質(zhì)量嵌入式文章,讓大家讀有所得!

    2024年02月06日
    瀏覽(22)
  • 小試牛刀 -- Kali Linux安裝在手機(jī)

    小試牛刀 -- Kali Linux安裝在手機(jī)

    ? ? ?Kali Linux是基于Debian的Linux的發(fā)行版,里面有許多關(guān)于網(wǎng)絡(luò)滲透的程序,是目前在網(wǎng)絡(luò)安全領(lǐng)域經(jīng)常使用的工具,因此為了便于學(xué)習(xí),在此進(jìn)行Kali Linux的安裝,主要安裝在華為P50上,操作系統(tǒng)是鴻蒙4.0。 ? ?2.1 Termux的安裝及配置 ? ? ? ?(1)Termux的安裝 ? ? ? ?在安裝Te

    2024年01月23日
    瀏覽(30)
  • 爬蟲小試牛刀(爬取學(xué)校通知公告)

    完成抓取并解析DGUT通知公告12頁數(shù)據(jù),并提交excel文件格式數(shù)據(jù),數(shù)據(jù)需要包含日期標(biāo)題,若能夠?qū)崿F(xiàn)將詳情頁主體內(nèi)容與發(fā)布人信息數(shù)據(jù)也一并抓取更佳 提交內(nèi)容:Excel數(shù)據(jù)文件 首先看到頁面呈現(xiàn)規(guī)則的各個(gè)方框,這意味著它們之間的一定是一樣的 此處該有圖 我們點(diǎn)開后

    2024年02月09日
    瀏覽(18)
  • 手動(dòng)開發(fā)-實(shí)現(xiàn)SpringMVC底層機(jī)制--小試牛刀

    手動(dòng)開發(fā)-實(shí)現(xiàn)SpringMVC底層機(jī)制--小試牛刀

    在這里說的底層機(jī)制的實(shí)現(xiàn)主要是指:前端控制器、Controller、Service注入容器、對象自動(dòng)裝配、控制器方法獲取參數(shù)、視圖解析、返回json數(shù)據(jù)。 前端控制器就是核心控制器。在這里我們可以設(shè)計(jì)一個(gè)Servlet來充當(dāng)核心控制器: LingDispatcherServlet.java .這個(gè)控制器的作用主要是接收

    2024年02月08日
    瀏覽(20)
  • 牛刀小試---二分查找(C語言)

    牛刀小試---二分查找(C語言)

    二分查找,也叫折半查找,是一種在 有序數(shù)組 中查找特定元素的算法。它通過比較中間元素和目標(biāo)值的大小,將查找范圍縮小為一半,直到找到目標(biāo)元素或者查找范圍為空。 ?1.?確定搜索范圍:首先,需要確定要在哪個(gè)區(qū)間內(nèi)進(jìn)行查找。這可以通過比較目標(biāo)值與中間元素的

    2024年01月17日
    瀏覽(26)
  • Python OpenCV 牛刀小試(練習(xí))

    ? ? ? ? OpenCV在讀取圖像時(shí),默認(rèn)的顏色空間是BGR(藍(lán)綠紅),而在大多數(shù)其他的圖像處理庫和圖像格式中,使用的顏色空間是RGB(紅綠藍(lán))。因此,當(dāng)你需要使用OpenCV處理圖像,然后將處理結(jié)果傳遞給其他庫(如matplotlib、PIL等)進(jìn)行進(jìn)一步處理或顯示時(shí),你需要將顏色空間

    2024年02月21日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包