<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 讀取ini文件 函數如下 ```bash #!/usr/bin/env bash #------------------------------------------------------- # FileName : Bash讀取ini文件.sh # Author :hpy # Date :2020年11月08日 # Description :讀取ini文件的函數 #------------------------------------------------------- #----------------------------------------- #函數名:ReadIni #功能:讀取ini文件,讀取成功返回狀態碼0,否則 #返回狀態碼1 #@param1:ini文件路徑 #@param2:Section #@param3:Option #例如:ReadIni test.ini s2 Path #----------------------------------------- function ReadIni(){ fid=$1 section=$2 option=$3 test ! -f $fid && echo "不存在文件$fid" && return 2 if [ $# -eq 3 ] ; then local src=$(cat $fid | awk '/\['$section'\]/{f=1;next} /\[*\]/{f=0} f' | #找出section下的所有內容 grep $option | # 匹配option的行 grep '=' | # 看看是不是存在= cut -d'=' -f2| # 獲取對應的值 cut -d'#' -f1| # 去除注釋 cut -d';' -f1| #去除注釋 awk '{gsub(/^\s+|\s+$/, "");print}') #去掉最前面的空格 echo $src test ${#src} -eq 0 && return 2 || return 0 #讀取到有效數據 返回狀態碼0 else return 2 fi } ReadIni test.ini s3 Path test $? -eq 0 && echo "成功讀取到數據" || echo "讀取失敗" ``` # 增加或者改寫ini文件 ```bash #!/usr/bin/env bash #------------------------------------------------------- # FileName : WriteIni.sh # Author :hpy # Date :2020年11月08日 # Description :寫ini文件的函數 #------------------------------------------------------- #----------------------------------------- #函數名:WriteIni #功能:增加,改寫ini文件,若不存在指定元素 #自動添加,存在則更改,操作成功返回狀態碼0, #否則返回狀態碼2 #@param1:ini文件路徑 #@param2:Section #@param3:Option #@param4:value #例如:WriteIni test.ini s2 Path value #----------------------------------------- function WriteIni(){ fid=$1 section=$2 option=$3 value=$4 if [ ${fid#*.} != ini ] ; then echo "不是ini文件" return 2 fi test ! -f $fid && echo "不存在文件$fid" && return 2 if [ $# -eq 4 ] ; then local src=$(cat $fid | awk '/\['$section'\]/{f=1;next} /\[*\]/{f=0} f') #先搜尋是否存在option if [ ${#src} -eq 0 ] ;then #沒有匹配到section,直接新建并添加內容 echo "[$section]" >> $fid echo " $option = $value" >> $fid return 0 else local src=$(cat -n $fid | awk '/\['$section'\]/{f=1;next} /\[*\]/{f=0} f' | grep $option | grep '=') if [ ${#src} -eq 0 ] ; then #沒有對應的 option 直接添加 local last=$(cat -n $fid | awk '/\['$section'\]/{f=1;next} /\[*\]/{f=0} f' | tail -n 1) last=$(echo $last | cut -d' ' -f1) sed -i "${last}a\ $option=$value" $fid return 0 fi local old_value=$(echo $src | cut -d'=' -f2 |cut -d'#' -f1 | cut -d';' -f1 ) local idx=$(echo $src | cut -d' ' -f1) local newcontext="$(cat $fid|sed -n "${idx}p" | sed "s/$old_value/$value/" | awk '{gsub(/^\s+|\s+$/, "");print}')" sed -i "${idx}c\ $newcontext" $fid return 0 fi fi } WriteIni test.ini s3 Go baby test $? -eq 0 && echo "寫入成功" || echo "寫入失敗" ``` # fish shell函數讀取 ```shell #!/usr/bin/env fish #根據Section和Option讀取ini文件 #you can use : # readini filepath # readini filepath section # readini filepath section option function readini --description 'Read ini file' set fid $argv[1] test ! -f $fid && echo "不存在文件$fid" && return 2 if test (count $argv) -eq 3 set section $argv[2] set option $argv[3] set src (cat $fid | awk '/\['$section'\]/{f=1;next} /\[*\]/{f=0} f' | #找出section下的所有內容 grep $option | # 匹配option的行 grep '=' | # 看看是不是存在= cut -d'=' -f2| # 獲取對應的值 cut -d'#' -f1| # 去除注釋 cut -d';' -f1| #去除注釋 awk '{gsub(/^\s+|\s+$/, "");print}') #去掉最前面的空格 echo $src test (count $src) -eq 0 && echo "Usage : ReadIni FilePath [Section] [Option]" && return 2 || return 0 #讀取到有效數據 返回狀態碼0 else if test (count $argv) -eq 2 #參數解析 set section $argv[2] cat $fid | awk '/\['$section'\]/{f=1;next} /\[*\]/{f=0} f' |grep '=' |cut -d'#' -f1|cut -d';' -f1 | awk '{gsub(/^\s+|\s+$/, "");print}' if test (cat $fid | awk '/\['$section'\]/{f=1;next} /\[*\]/{f=0} f' |grep '='| wc -l) -eq 0 return 2 else return 0 end else if test (count $argv) -eq 1 cat $fid | grep '=\|\[*\]' | cut -d'#' -f1|cut -d';' -f1 else echo " Usage : ReadIni FilePath Section Option" return 2 end end ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看