小白篇 shell指令碼基本操作

2021-10-12 05:02:45 字數 2243 閱讀 1117

shell指令碼test.sh第一行新增:

#!/bin/bash
然後就可以在shell視窗中:

sh test.sh

bash test.sh

關於空格、回車

任 何 地 方不 要 隨 意 添 加 空 格 、回 車 !

文件結尾不要windows回車符\r

==附近不要有空格

條件語句標準(注意空格):

if

[$check

=="string"

]# 比較字串if[

$num -eq 2 ]

# 比較數值

windows下回車,會加入\r

#!/bin/bash

for line in

`cat ./tmp/__par__.txt`

do name=

$line

echo

$name

name=

$.json

echo

$name

python voc2coco.py $line

''$name

done

%% *:從右側第乙個 . 出現開始,擷取其左側所有值

name=

$

% *:從左側第乙個 . 出現開始,擷取其左側所有值

name=

$

從第4個字元開始(不包括第4個),擷取右側3個字元

name=

$

從第4個字元開始,擷取右側所有

name=

$

從倒數第4個字元開始,擷取右側所有

name=

$

給字串新增 .json

name=

$.json

數字判斷一些命令

-gt是大於的意思

-lt是小於

-eq是等於

-ne是不等於

-ge是大於等於

-le是小於等於

#!/bin/bashif[

$1 -gt $2

]then

echo

"$1>$2"

else

echo

"$2>$1"

fi

字串判斷

if[$1

==]then

echo

"$1>$2"

else

echo

"$2>$1"

fi

if

[ 1 ]

;then

exit

fi

test.py

import sys

if __name__==

"__main__"

: sys.exit(

1)

test.sh

python test.py

t=$?if[

$t -eq 1 ]

;then

echo

$tfi

如下命令批量複製時,如果檔案數量過多,會報錯——列表太長:

cp ./a/* ./b/
改用如下命令:

cp -r ./a/. ./b/
用該命令合併兩個目錄a、b下的內容到目錄c下:

cp -r ./a/. ./c/

cp -r ./b/. ./c/

$#:輸入bash指令碼的引數數量

$:list計數

顯示詳細資訊

cp -v src dst

小白篇 git基本操作

鏈結 git push 失敗,修改以下 標記的地方,可能會成功 windowmemory 1024m修改git配置 git config global http.postbuffer 524288000 修改git軟體的配置 git config local http.postbuffer 5242...

shell指令碼符號篇

hell執行指令碼 bin bash echo 這是乙個shell指令碼 shell指令碼中用 表示注釋,如果 位於第一 開頭 並且是則例外,它表 該指令碼使 後 指定的直譯器 bin sh解釋執 第一種執行方式 chmod x script.sh shell會 fork 乙個子程序並調 用 exe...

Shell指令碼程式設計篇

bin bash 斐波那契數列 不要用遞迴,深度大於30就老火了。function fun test val fun test 1 echo val bin bash 求輸入的一串數字中的最大數,最小數以及平均數 保留2位小數 maxsum 1 minsum 1 sum 1 count shift ...