Shell 記事本

weixin_33935777發表於2018-04-19

字串相關

${var#*token}  //#表示一,*token是正規表示式,從左刪除,直到刪除完token
${var##*token}  //##表示最後,*token是正規表示式,從左刪除,直到刪除完token
${var%token*}  //%表示一,*token是正規表示式,從右刪除,直到刪除完token
${var%%token*}  //#表示最後,*token是正規表示式,從右刪除,直到刪除完token
${var:0:5}  //從0開始數五個
imagearray=(${images//{\"image\":\"/ })對變數images按照{\"image\":\"進行分割,//與/之間與分割的字元 ,另外/後有一個空格不可省略 
sort -k2n final | uniq   //排序去重

語法相關

if[[a=~b]] ,其中=~為匹配正規表示式

管道

管道會開啟subShell需要注意,管道中的變數作用域相當於自函式中的變數作用域

$相關

$0 這個程式的執行名字
$n 這個程式的第n個引數值,n=1..9
$* 這個程式的所有引數,此選項引數可超過9個。
$# 這個程式的引數個數
$$ 這個程式的PID(指令碼執行的當前[程式ID](https://www.baidu.com/s?wd=%E8%BF%9B%E7%A8%8BID&tn=SE_PcZhidaonwhc_ngpagmjz&rsv_dl=gh_pc_zhidao)號)
$! 執行上一個背景指令的PID(後臺執行的最後一個程式的[程式ID](https://www.baidu.com/s?wd=%E8%BF%9B%E7%A8%8BID&tn=SE_PcZhidaonwhc_ngpagmjz&rsv_dl=gh_pc_zhidao)號)
$? 執行上一個指令的返回值 (顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤)
$- 顯示shell使用的當前選項,與set命令功能相同
$@ 跟$*類似,“$@”為“$1” "$2" ... "$n", "$*" 為 "$1 $2 ... $n"

diff {var} "var {var}iable=variable
{var}"
雙引號表示當作一個字串處理
https://stackoverflow.com/questions/18135451/what-is-the-difference-between-var-var-and-var-in-the-bash-shell

根據配置檔案生成Value注入的屬性

awk -F= '{n=split($1,a,".");print "@Value(\"${"$1"}\")\nprivate String "a[n]";"}' origin

相關文章