使用注意
小功能實現
buildf=
$(find -iname 'build*' -maxdepth 1 -print)
for fd in$do
if[ -d $fd];
then
echo
"will delete dir: $fd"
rm -rf $fd
fidone
以上:iname
表示搜尋不區分大小寫,-maxdepth
指定搜尋深度為1,不會遞迴子目錄;if [ -d $fd ]
要注意中括號與字元之間要有空格, 意思是 是否存在 目錄$fd
,-d
表示資料夾,-f
表示檔案。
export srcipt_folder=
$(cd "$(dirname $0)
";pwd)
cppfilesstr=
$(find $folder -iname '*cpp' -print)
cppfiles=($
)nums=
$# 陣列的size
4.1 登入,regist.sh(此指令碼在伺服器a上)
sshpass -p "password"
ssh [email protected] "sh -s"
< run.sh
4.2 掛載指令碼, mount_target.sh,此指令碼放在伺服器b上 ,假如放在 目錄 /root/data/下。
nfiles=
'ls /root/data/target/ | wc -l'
# nfiles 如果不為0,表示已經掛載,不需要重複掛載
# 將c伺服器 的/data/target目錄,掛載到b伺服器的/root/data/target目錄if[
$nfiles -eq '0'];
then
mount -t nfs -o tcp -o nolock 192.168.99.33:/data/target /root/data/target
fi
4.3 執行掛載和執行程式的指令碼,run.sh (此指令碼在伺服器a上)
cd /root/data/
sh mount_target.sh
cd /root/data/target
pwdls
... # 可以去目標資料夾執行程式
4.3 shell 指令碼用 scp 跨伺服器拷貝,可以用 expect 或者 sshpass,處理輸入密碼的問題。以下是 sshpass示例,也可以在 目標伺服器上執行。
sshpass -p "introcks"
scp -r ./model.bin [email protected]:/data/jenkins/
# 此處 introcks 是 99.11 的密碼
str=
"a b c d efg hij"
#下面以空格為分隔符將str變成乙個陣列,如果要以符號@為分隔符就寫成 array=($)
array=($
)unset array[0]
# 刪去陣列下標為0的元素
for a in$do
echo
"$a"
#遍歷並輸出array中的每個元素
done
######### 構建陣列array2
array2=()
for a in$do
array2=
"$array2
$a"done
array2=($
)
str1=
"models_face_mask.bin"
str2=
$## 從倒數第5個字元開始往後取4個字元,也就是 k.bi
str3=
$## 從下標為2的字元開始往後取4個字元,也就是 dels
# 以上兩種情況,如果捨去長度不寫,也就是str2=$ 或者 str3=$ 那就會取指定字元開始到最後乙個字元。
LaTex使用筆記(持續更新)
眾所周知,要在latex中加入jpg,必須要借助graphicx包的幫助。在導言區加上 usepackage import figures然後在你想插入的地方加上 begin centering includegraphics height 4.5cm,width 9.5cm caption lab...
linux 使用筆記(持續更新)
rm rf compiz cache sudo systemctl restart lightdm dpkg l 列出當前系統中所有的包.可以和引數less一起使用在分屏檢視.dpkg l grep i 軟體包名 檢視系統中與 軟體包名 相關聯的包.以下是一些 dpkg 的普通用法 2 dpkg c...
android使用筆記 持續更新中。。。
今天在eclipse下匯入工程報錯 invalid projectdescription.原因是在eclipse的指定工作空間中 workspace 工程的名稱必須與工程跟目下.project檔案中的名稱一致!搭建好了環境,把之前的工程搬到了新的環境下,結果怎麼開啟都遇到invalid projec...