github-actions[bot] commented on PR #13259:
URL: https://github.com/apache/doris/pull/13259#issuecomment-1328466827

   #### `sh-checker report`
   
   To get the full details, please check in the 
[job]("https://github.com/apache/doris/actions/runs/3561307514";) output.
   
   <details>
   <summary>shellcheck errors</summary>
   
   ```
   
   'shellcheck ' returned error 1 finding the following syntactical issues:
   
   ----------
   
   In teamcity/doris/benchmark/clickbench/common/check_and_kill_deleted_proc.sh 
line 11:
   check=$(lsof -i:$port|awk '{print $2}'|wc -l)
                   ^---^ SC2086 (info): Double quote to prevent globbing and 
word splitting.
                   ^---^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
   check=$(lsof -i:"$port"|awk '{print $2}'|wc -l)
   
   
   In teamcity/doris/benchmark/clickbench/common/check_and_kill_deleted_proc.sh 
line 12:
   if [ "check$check" != "check0" ];then
      ^---------------------------^ SC2292 (style): Prefer [[ ]] over [ ] for 
tests in Bash/Ksh.
              ^----^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
   if [[ "check${check}" != "check0" ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/check_and_kill_deleted_proc.sh 
line 13:
       if [ "check"${case_level} == "check" ];then
          ^-- SC2292 (style): Prefer [[ ]] over [ ] for tests in Bash/Ksh.
                   ^-----------^ SC2086 (info): Double quote to prevent 
globbing and word splitting.
   
   Did you mean: 
       if [[ "check""${case_level}" == "check" ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/check_and_kill_deleted_proc.sh 
line 14:
           check_res=$(pwdx `lsof -i:$port|grep -v PID|awk '{print $2}'`|grep 
$env_name|grep deleted||wc -l)
                            ^-- SC2046 (warning): Quote this to prevent word 
splitting.
                            ^-- SC2006 (style): Use $(...) notation instead of 
legacy backticks `...`.
                                     ^---^ SC2086 (info): Double quote to 
prevent globbing and word splitting.
                                     ^---^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
                                                                              
^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                              
^-------^ SC2250 (style): Prefer putting braces around variable references even 
when not strictly required.
   
   Did you mean: 
           check_res=$(pwdx $(lsof -i:"$port"|grep -v PID|awk '{print 
$2}')|grep $env_name|grep deleted||wc -l)
   
   
   In teamcity/doris/benchmark/clickbench/common/check_and_kill_deleted_proc.sh 
line 16:
           check_res=$(pwdx `lsof -i:$port|grep -v PID|awk '{print $2}'`|grep 
$env_name|grep $case_level|grep deleted||wc -l)
                            ^-- SC2046 (warning): Quote this to prevent word 
splitting.
                            ^-- SC2006 (style): Use $(...) notation instead of 
legacy backticks `...`.
                                     ^---^ SC2086 (info): Double quote to 
prevent globbing and word splitting.
                                     ^---^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
                                                                              
^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                              
^-------^ SC2250 (style): Prefer putting braces around variable references even 
when not strictly required.
                                                                                
             ^---------^ SC2086 (info): Double quote to prevent globbing and 
word splitting.
                                                                                
             ^---------^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
           check_res=$(pwdx $(lsof -i:"$port"|grep -v PID|awk '{print 
$2}')|grep $env_name|grep $case_level|grep deleted||wc -l)
   
   
   In teamcity/doris/benchmark/clickbench/common/check_and_kill_deleted_proc.sh 
line 18:
       if [ "check$check_res" != "check0" ];then
          ^-- SC2292 (style): Prefer [[ ]] over [ ] for tests in Bash/Ksh.
                  ^--------^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
       if [[ "check${check_res}" != "check0" ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/check_and_kill_deleted_proc.sh 
line 19:
           be_pid=(`lsof -i:$port|grep -v PID|awk '{print $2}'`)
                   ^-- SC2207 (warning): Prefer mapfile or read -a to split 
command output (or quote to avoid splitting).
                   ^-- SC2006 (style): Use $(...) notation instead of legacy 
backticks `...`.
                            ^---^ SC2086 (info): Double quote to prevent 
globbing and word splitting.
                            ^---^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           be_pid=($(lsof -i:"$port"|grep -v PID|awk '{print $2}'))
   
   
   In teamcity/doris/benchmark/clickbench/common/check_and_kill_deleted_proc.sh 
line 20:
           echo "Detected residual processes: ${be_pid}"
                                              ^-------^ SC2128 (warning): 
Expanding an array without an index only gives the first element.
   
   
   In teamcity/doris/benchmark/clickbench/common/check_and_kill_deleted_proc.sh 
line 21:
           echo "kill residual processes: kill -9 ${be_pid}"
                                                  ^-------^ SC2128 (warning): 
Expanding an array without an index only gives the first element.
   
   
   In teamcity/doris/benchmark/clickbench/common/check_and_kill_deleted_proc.sh 
line 22:
           kill -9 $be_pid
                   ^-----^ SC2128 (warning): Expanding an array without an 
index only gives the first element.
                   ^-----^ SC2086 (info): Double quote to prevent globbing and 
word splitting.
                   ^-----^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           kill -9 "$be_pid"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 29:
       while [ 1 -eq 1 ]
             ^---------^ SC2292 (style): Prefer [[ ]] over [ ] for tests in 
Bash/Ksh.
                 ^-^ SC2050 (warning): This expression is constant. Did you 
forget the $ on a variable?
   
   Did you mean: 
       while [[ 1 -eq 1 ]]
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 32:
           res=($(curl --header "authorization: Bearer ${GITHUB_TOKEN}" 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files?per_page=$per_page\&page=$page|jq
 -r '.[]|select(.status = "removed")| .filename'))
                ^-- SC2207 (warning): Prefer mapfile or read -a to split 
command output (or quote to avoid splitting).
                                                                                
                     ^------^ SC2248 (style): Prefer double quoting even when 
variables don't contain special characters.
                                                                                
                              ^-----^ SC2248 (style): Prefer double quoting 
even when variables don't contain special characters.
                                                                                
                                            ^------^ SC2086 (info): Double 
quote to prevent globbing and word splitting.
                                                                                
                                                                    ^-------^ 
SC2248 (style): Prefer double quoting even when variables don't contain special 
characters.
                                                                                
                                                                    ^-------^ 
SC2250 (style): Prefer putting braces around variable references even when not 
strictly required.
                                                                                
                                                                                
    ^---^ SC2248 (style): Prefer double quoting even when variables don't 
contain special characters.
                                                                                
                                                                                
    ^---^ SC2250 (style): Prefer putting braces around variable references even 
when not strictly required.
   
   Did you mean: 
           res=($(curl --header "authorization: Bearer ${GITHUB_TOKEN}" 
https://api.github.com/repos/"${owner}"/"${repo}"/pulls/"${pr_id}"/files?per_page="$per_page"\&page=$page|jq
 -r '.[]|select(.status = "removed")| .filename'))
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 35:
           if [ ${res_len} -ne 0 ];then
              ^------------------^ SC2292 (style): Prefer [[ ]] over [ ] for 
tests in Bash/Ksh.
                ^--------^ SC2086 (info): Double quote to prevent globbing and 
word splitting.
   
   Did you mean: 
           if [[ "${res_len}" -ne 0 ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 36:
               let page+=1
               ^---------^ SC2219 (style): Instead of 'let expr', prefer (( 
expr )) .
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 38:
               files=(${res[@]} ${files[*]})
                      ^-------^ SC2206 (warning): Quote to prevent word 
splitting/globbing, or split robustly with mapfile or read -a.
                                ^---------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 54:
       res=($(get_all_change_files $pr_id))
            ^----------------------------^ SC2207 (warning): Prefer mapfile or 
read -a to split command output (or quote to avoid splitting).
                                   ^----^ SC2086 (info): Double quote to 
prevent globbing and word splitting.
                                   ^----^ SC2250 (style): Prefer putting braces 
around variable references even when not strictly required.
   
   Did you mean: 
       res=($(get_all_change_files "$pr_id"))
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 58:
       for file in ${res[@]}
                   ^-------^ SC2068 (error): Double quote array expansions to 
avoid re-splitting elements.
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 61:
        file_dir=$(echo $file|cut -d '/' -f 1)
                           ^---^ SC2086 (info): Double quote to prevent 
globbing and word splitting.
                           ^---^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
        file_dir=$(echo "$file"|cut -d '/' -f 1)
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 62:
           file_type=$(echo $file|rev|cut -d / -f 1|cut -d '.' -f 1|rev)
                            ^---^ SC2086 (info): Double quote to prevent 
globbing and word splitting.
                            ^---^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           file_type=$(echo "$file"|rev|cut -d / -f 1|cut -d '.' -f 1|rev)
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 64:
        if [[ $file_type == "cpp" || $file_type == "c" || $file_type == "java" 
|| $file_type == "py" || $file_type == "h" || $file_type == 'js' ]];then
                 ^--------^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                                        ^--------^ SC2250 (style): Prefer 
putting braces around variable references even when not strictly required.
                                                             ^--------^ SC2250 
(style): Prefer putting braces around variable references even when not 
strictly required.
                                                                                
     ^--------^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
                                                                                
                           ^--------^ SC2250 (style): Prefer putting braces 
around variable references even when not strictly required.
                                                                                
                                                ^--------^ SC2250 (style): 
Prefer putting braces around variable references even when not strictly 
required.
   
   Did you mean: 
        if [[ ${file_type} == "cpp" || ${file_type} == "c" || ${file_type} == 
"java" || ${file_type} == "py" || ${file_type} == "h" || ${file_type} == 'js' 
]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 68:
        if [[ "check$file_dir" == "check${module}" ]];then
                       ^-------^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
        if [[ "check${file_dir}" == "check${module}" ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 69:
               let module_file+=1
               ^----------------^ SC2219 (style): Instead of 'let expr', prefer 
(( expr )) .
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 89:
       res=($(get_all_change_files $pr_id))
            ^----------------------------^ SC2207 (warning): Prefer mapfile or 
read -a to split command output (or quote to avoid splitting).
                                   ^----^ SC2086 (info): Double quote to 
prevent globbing and word splitting.
                                   ^----^ SC2250 (style): Prefer putting braces 
around variable references even when not strictly required.
   
   Did you mean: 
       res=($(get_all_change_files "$pr_id"))
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 98:
       for file in ${res[@]}
                   ^-------^ SC2068 (error): Double quote array expansions to 
avoid re-splitting elements.
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 101:
        echo "$file"
                 ^---^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
        echo "${file}"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 102:
           file_dir=$(echo $file|cut -d '/' -f 1)
                           ^---^ SC2086 (info): Double quote to prevent 
globbing and word splitting.
                           ^---^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           file_dir=$(echo "$file"|cut -d '/' -f 1)
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 103:
        if [[ $file_dir == "docs" ]];then
                 ^-------^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
        if [[ ${file_dir} == "docs" ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 104:
               let doc_num+=1
               ^------------^ SC2219 (style): Instead of 'let expr', prefer (( 
expr )) .
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 106:
           if [[ "$file" =~ "docs/zh-CN/docs/sql-manual/" || "$file" =~ 
"docs/en/docs/sql-manual/" ]];then
                  ^---^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
                                                              ^---^ SC2250 
(style): Prefer putting braces around variable references even when not 
strictly required.
   
   Did you mean: 
           if [[ "${file}" =~ "docs/zh-CN/docs/sql-manual/" || "${file}" =~ 
"docs/en/docs/sql-manual/" ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 107:
               let doc_sql_manual_num+=1
               ^-----------------------^ SC2219 (style): Instead of 'let expr', 
prefer (( expr )) .
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 120:
       echo "doc_num: $doc_num"
                      ^------^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
       echo "doc_num: ${doc_num}"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 121:
       echo "file_nums: $file_nums"
                        ^--------^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
       echo "file_nums: ${file_nums}"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 122:
       echo "doc_sql_manual_num: $doc_sql_manual_num"
                                 ^-----------------^ SC2250 (style): Prefer 
putting braces around variable references even when not strictly required.
   
   Did you mean: 
       echo "doc_sql_manual_num: ${doc_sql_manual_num}"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 123:
       if [[ $doc_num -eq $file_nums && $doc_sql_manual_num -eq 0 ]];then
             ^------^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
                          ^--------^ SC2250 (style): Prefer putting braces 
around variable references even when not strictly required.
                                        ^-----------------^ SC2250 (style): 
Prefer putting braces around variable references even when not strictly 
required.
   
   Did you mean: 
       if [[ ${doc_num} -eq ${file_nums} && ${doc_sql_manual_num} -eq 0 ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 138:
       res=($(get_all_change_files $pr_id))
            ^----------------------------^ SC2207 (warning): Prefer mapfile or 
read -a to split command output (or quote to avoid splitting).
                                   ^----^ SC2086 (info): Double quote to 
prevent globbing and word splitting.
                                   ^----^ SC2250 (style): Prefer putting braces 
around variable references even when not strictly required.
   
   Did you mean: 
       res=($(get_all_change_files "$pr_id"))
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 146:
       for file in ${res[@]}
                   ^-------^ SC2068 (error): Double quote array expansions to 
avoid re-splitting elements.
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 148:
           echo "$file"
                 ^---^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
           echo "${file}"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 150:
           file_dir=$(echo $file|cut -d '/' -f 1)
                           ^---^ SC2086 (info): Double quote to prevent 
globbing and word splitting.
                           ^---^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           file_dir=$(echo "$file"|cut -d '/' -f 1)
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 151:
           if [[ $file_dir == "be" || $file_dir == "docs" || $file_dir == 
"fs_brokers" ]];then
                 ^-------^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                                      ^-------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
                                                             ^-------^ SC2250 
(style): Prefer putting braces around variable references even when not 
strictly required.
   
   Did you mean: 
           if [[ ${file_dir} == "be" || ${file_dir} == "docs" || ${file_dir} == 
"fs_brokers" ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 152:
               let doc_num+=1
               ^------------^ SC2219 (style): Instead of 'let expr', prefer (( 
expr )) .
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 156:
       if [[ $doc_num -eq $file_nums ]];then
             ^------^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
                          ^--------^ SC2250 (style): Prefer putting braces 
around variable references even when not strictly required.
   
   Did you mean: 
       if [[ ${doc_num} -eq ${file_nums} ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 171:
       res=($(get_all_change_files $pr_id))
            ^----------------------------^ SC2207 (warning): Prefer mapfile or 
read -a to split command output (or quote to avoid splitting).
                                   ^----^ SC2086 (info): Double quote to 
prevent globbing and word splitting.
                                   ^----^ SC2250 (style): Prefer putting braces 
around variable references even when not strictly required.
   
   Did you mean: 
       res=($(get_all_change_files "$pr_id"))
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 179:
       for file in ${res[@]}
                   ^-------^ SC2068 (error): Double quote array expansions to 
avoid re-splitting elements.
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 181:
           echo "$file"
                 ^---^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
           echo "${file}"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 183:
           file_dir=$(echo $file|cut -d '/' -f 1)
                           ^---^ SC2086 (info): Double quote to prevent 
globbing and word splitting.
                           ^---^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           file_dir=$(echo "$file"|cut -d '/' -f 1)
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 184:
           if [[ $file_dir == "fe" || $file_dir == "docs" || $file_dir == 
"fs_brokers" ]];then
                 ^-------^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                                      ^-------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
                                                             ^-------^ SC2250 
(style): Prefer putting braces around variable references even when not 
strictly required.
   
   Did you mean: 
           if [[ ${file_dir} == "fe" || ${file_dir} == "docs" || ${file_dir} == 
"fs_brokers" ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 185:
               let doc_num+=1
               ^------------^ SC2219 (style): Instead of 'let expr', prefer (( 
expr )) .
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 189:
       if [[ $doc_num -eq $file_nums ]];then
             ^------^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
                          ^--------^ SC2250 (style): Prefer putting braces 
around variable references even when not strictly required.
   
   Did you mean: 
       if [[ ${doc_num} -eq ${file_nums} ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 200:
   if [ $# > 0 ]; then
      ^--------^ SC2292 (style): Prefer [[ ]] over [ ] for tests in Bash/Ksh.
           ^-- SC2071 (error): > is for string comparisons. Use -gt instead.
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 203:
            check_removed_change_file $2 "be"
                                         ^-- SC2086 (info): Double quote to 
prevent globbing and word splitting.
   
   Did you mean: 
            check_removed_change_file "$2" "be"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 205:
            check_all_change_files_is_under_be $2
                                                  ^-- SC2086 (info): Double 
quote to prevent globbing and word splitting.
   
   Did you mean: 
            check_all_change_files_is_under_be "$2"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 207:
            echo ${check_1}
                    ^--------^ SC2248 (style): Prefer double quoting even when 
variables don't contain special characters.
   
   Did you mean: 
            echo "${check_1}"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 208:
            echo ${check_2}
                    ^--------^ SC2248 (style): Prefer double quoting even when 
variables don't contain special characters.
   
   Did you mean: 
            echo "${check_2}"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 209:
            res=`expr $check_1 \* $check_2`
               ^-^ SC2178 (warning): Variable was used as an array but is now 
assigned a string.
                   ^-------------------------^ SC2006 (style): Use $(...) 
notation instead of legacy backticks `...`.
                    ^--^ SC2003 (style): expr is antiquated. Consider rewriting 
this using $((..)), ${} or [[ ]].
                         ^------^ SC2248 (style): Prefer double quoting even 
when variables don't contain special characters.
                         ^------^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                                     ^------^ SC2248 (style): Prefer double 
quoting even when variables don't contain special characters.
                                     ^------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
   
   Did you mean: 
            res=$(expr "$check_1" \* $check_2)
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 210:
            exit $res
                    ^--^ SC2128 (warning): Expanding an array without an index 
only gives the first element.
                    ^--^ SC2086 (info): Double quote to prevent globbing and 
word splitting.
                    ^--^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
            exit "$res"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 213:
            check_removed_change_file $2 "fe"
                                         ^-- SC2086 (info): Double quote to 
prevent globbing and word splitting.
   
   Did you mean: 
            check_removed_change_file "$2" "fe"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 215:
            check_all_change_files_is_under_fe $2
                                                  ^-- SC2086 (info): Double 
quote to prevent globbing and word splitting.
   
   Did you mean: 
            check_all_change_files_is_under_fe "$2"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 217:
               res=`expr $check_1 \* $check_2`
               ^-^ SC2178 (warning): Variable was used as an array but is now 
assigned a string.
                   ^-------------------------^ SC2006 (style): Use $(...) 
notation instead of legacy backticks `...`.
                    ^--^ SC2003 (style): expr is antiquated. Consider rewriting 
this using $((..)), ${} or [[ ]].
                         ^------^ SC2248 (style): Prefer double quoting even 
when variables don't contain special characters.
                         ^------^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                                     ^------^ SC2248 (style): Prefer double 
quoting even when variables don't contain special characters.
                                     ^------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
   
   Did you mean: 
               res=$(expr "$check_1" \* $check_2)
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 218:
            echo ${check_1}
                    ^--------^ SC2248 (style): Prefer double quoting even when 
variables don't contain special characters.
   
   Did you mean: 
            echo "${check_1}"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 219:
            echo ${check_2}
                    ^--------^ SC2248 (style): Prefer double quoting even when 
variables don't contain special characters.
   
   Did you mean: 
            echo "${check_2}"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 220:
            exit $res
                    ^--^ SC2128 (warning): Expanding an array without an index 
only gives the first element.
                    ^--^ SC2086 (info): Double quote to prevent globbing and 
word splitting.
                    ^--^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
            exit "$res"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 223:
            check_removed_change_file $2 "docs"
                                         ^-- SC2086 (info): Double quote to 
prevent globbing and word splitting.
   
   Did you mean: 
            check_removed_change_file "$2" "docs"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 225:
            check_all_change_files_is_under_doc $2
                                                   ^-- SC2086 (info): Double 
quote to prevent globbing and word splitting.
   
   Did you mean: 
            check_all_change_files_is_under_doc "$2"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 227:
               res=`expr $check_1 + $check_2`
               ^-^ SC2178 (warning): Variable was used as an array but is now 
assigned a string.
                   ^------------------------^ SC2006 (style): Use $(...) 
notation instead of legacy backticks `...`.
                    ^--^ SC2003 (style): expr is antiquated. Consider rewriting 
this using $((..)), ${} or [[ ]].
                         ^------^ SC2248 (style): Prefer double quoting even 
when variables don't contain special characters.
                         ^------^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                                    ^------^ SC2248 (style): Prefer double 
quoting even when variables don't contain special characters.
                                    ^------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
   
   Did you mean: 
               res=$(expr "$check_1" + $check_2)
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 228:
            echo ${check_1}
                    ^--------^ SC2248 (style): Prefer double quoting even when 
variables don't contain special characters.
   
   Did you mean: 
            echo "${check_1}"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 229:
               echo ${check_2}
                    ^--------^ SC2248 (style): Prefer double quoting even when 
variables don't contain special characters.
   
   Did you mean: 
               echo "${check_2}"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 230:
            exit $res
                    ^--^ SC2128 (warning): Expanding an array without an index 
only gives the first element.
                    ^--^ SC2086 (info): Double quote to prevent globbing and 
word splitting.
                    ^--^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
            exit "$res"
   
   
   In teamcity/doris/benchmark/clickbench/common/check_change_file.sh line 238:
   main $@
        ^-- SC2068 (error): Double quote array expansions to avoid re-splitting 
elements.
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 6:
   echo `date "+%Y-%m-%d %H:%M:%S"` "start to clear oudate file!"
        ^-------------------------^ SC2046 (warning): Quote this to prevent 
word splitting.
        ^-------------------------^ SC2006 (style): Use $(...) notation instead 
of legacy backticks `...`.
   
   Did you mean: 
   echo $(date "+%Y-%m-%d %H:%M:%S") "start to clear oudate file!"
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 7:
   cd /home/work/teamcity/TeamCity/piplineWork/Compile/
   ^-- SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd 
fails.
   
   Did you mean: 
   cd /home/work/teamcity/TeamCity/piplineWork/Compile/ || exit
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 8:
   find /home/work/teamcity/TeamCity/piplineWork/Compile/ -maxdepth 1 -mindepth 
1 -mmin +${existsTime} -type d -name "*_*" -exec rm -rf {} \;
                                                                                
         ^-----------^ SC2248 (style): Prefer double quoting even when 
variables don't contain special characters.
   
   Did you mean: 
   find /home/work/teamcity/TeamCity/piplineWork/Compile/ -maxdepth 1 -mindepth 
1 -mmin +"${existsTime}" -type d -name "*_*" -exec rm -rf {} \;
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 9:
   cd -
   ^--^ SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd 
fails.
   ^--^ SC2103 (info): Use a ( subshell ) to avoid having to cd back.
   
   Did you mean: 
   cd - || exit
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 10:
   cd /home/work/teamcity/TeamCity/piplineWork/feUt/
   ^-- SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd 
fails.
   
   Did you mean: 
   cd /home/work/teamcity/TeamCity/piplineWork/feUt/ || exit
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 11:
   find /home/work/teamcity/TeamCity/piplineWork/feUt/ -maxdepth 1 -mindepth 1 
-mmin +${existsTime} -type d -name "*_*" -exec rm -rf {} \;
                                                                                
      ^-----------^ SC2248 (style): Prefer double quoting even when variables 
don't contain special characters.
   
   Did you mean: 
   find /home/work/teamcity/TeamCity/piplineWork/feUt/ -maxdepth 1 -mindepth 1 
-mmin +"${existsTime}" -type d -name "*_*" -exec rm -rf {} \;
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 12:
   cd -
   ^--^ SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd 
fails.
   
   Did you mean: 
   cd - || exit
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 13:
   cd /home/work/teamcity/TeamCity/piplineWork/beUt/
   ^-- SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd 
fails.
   
   Did you mean: 
   cd /home/work/teamcity/TeamCity/piplineWork/beUt/ || exit
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 14:
   find /home/work/teamcity/TeamCity/piplineWork/beUt/ -maxdepth 1 -mindepth 1 
-mmin +${existsTime} -type d -name "*_*" -exec rm -rf {} \;
                                                                                
      ^-----------^ SC2248 (style): Prefer double quoting even when variables 
don't contain special characters.
   
   Did you mean: 
   find /home/work/teamcity/TeamCity/piplineWork/beUt/ -maxdepth 1 -mindepth 1 
-mmin +"${existsTime}" -type d -name "*_*" -exec rm -rf {} \;
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 15:
   cd -
   ^--^ SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd 
fails.
   
   Did you mean: 
   cd - || exit
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 16:
   cd /mnt/ssd01/teamcity/TeamCity/piplineWork/Compile/
   ^-- SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd 
fails.
   
   Did you mean: 
   cd /mnt/ssd01/teamcity/TeamCity/piplineWork/Compile/ || exit
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 17:
   find /mnt/ssd01/teamcity/TeamCity/piplineWork/Compile/ -maxdepth 1 -mindepth 
1 -mmin +${existsTime} -type d -name "*_*" -exec rm -rf {} \;
                                                                                
         ^-----------^ SC2248 (style): Prefer double quoting even when 
variables don't contain special characters.
   
   Did you mean: 
   find /mnt/ssd01/teamcity/TeamCity/piplineWork/Compile/ -maxdepth 1 -mindepth 
1 -mmin +"${existsTime}" -type d -name "*_*" -exec rm -rf {} \;
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 18:
   cd -
   ^--^ SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd 
fails.
   
   Did you mean: 
   cd - || exit
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 19:
   cd /mnt/ssd01/teamcity/TeamCity/piplineWork/beUt/
   ^-- SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd 
fails.
   
   Did you mean: 
   cd /mnt/ssd01/teamcity/TeamCity/piplineWork/beUt/ || exit
   
   
   In teamcity/doris/benchmark/clickbench/common/clean_disk.sh line 20:
   find /mnt/ssd01/teamcity/TeamCity/piplineWork/beUt/ -maxdepth 1 -mindepth 1 
-mmin +${existsTime} -type d -name "*_*" -exec rm -rf {} \;
                                                                                
      ^-----------^ SC2248 (style): Prefer double quoting even when variables 
don't contain special characters.
   
   Did you mean: 
   find /mnt/ssd01/teamcity/TeamCity/piplineWork/beUt/ -maxdepth 1 -mindepth 1 
-mmin +"${existsTime}" -type d -name "*_*" -exec rm -rf {} \;
   
   
   In teamcity/doris/benchmark/clickbench/common/docker_compile.sh line 3:
   id=$(echo $RANDOM)
      ^-------------^ SC2116 (style): Useless echo? Instead of 'cmd $(echo 
foo)', just use 'cmd foo'.
             ^-----^ SC2248 (style): Prefer double quoting even when variables 
don't contain special characters.
             ^-----^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
   id=$(echo "$RANDOM")
   
   
   In teamcity/doris/benchmark/clickbench/common/docker_compile.sh line 5:
   docker run -i --rm --name doris-compile-$id -e TZ=Asia/Shanghai -v 
/etc/localtime:/etc/localtime:ro -v /home/work/.m2:/root/.m2 -v 
/home/work/.npm:/root/.npm -v $work_path:/root/doris 
apache/incubator-doris:build-env-ldb-toolchain-latest /bin/bash -c "cd 
/root/doris && sh builds.sh"
                                           ^-^ SC2086 (info): Double quote to 
prevent globbing and word splitting.
                                           ^-^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
                                                                                
                                                                                
    ^--------^ SC2086 (info): Double quote to prevent globbing and word 
splitting.
                                                                                
                                                                                
    ^--------^ SC2250 (style): Prefer putting braces around variable references 
even when not strictly required.
   
   Did you mean: 
   docker run -i --rm --name doris-compile-"$id" -e TZ=Asia/Shanghai -v 
/etc/localtime:/etc/localtime:ro -v /home/work/.m2:/root/.m2 -v 
/home/work/.npm:/root/.npm -v $work_path:/root/doris 
apache/incubator-doris:build-env-ldb-toolchain-latest /bin/bash -c "cd 
/root/doris && sh builds.sh"
   
   
   In teamcity/doris/benchmark/clickbench/common/docker_trigger_api.sh line 40:
       docker_name="doris-compile-"$(echo $RANDOM)
                                  ^-- SC1078 (warning): Did you forget to close 
this double quoted string?
   
   
   In teamcity/doris/benchmark/clickbench/common/docker_trigger_api.sh line 42:
       cmd="docker run -i --rm --name doris-compile-$id -e TZ=Asia/Shanghai -v 
/etc/localtime:/etc/localtime:ro -v /home/work/.m2:/root/.m2 -v 
/home/work/.npm:/root/.npm -v %system.teamcity.build.workingDir%:/root/doris 
apache/incubator-doris:build-env-ldb-toolchain-latest /bin/bash -c "cd 
/root/doris && sh builds.sh"
           ^-- SC1079 (info): This is actually an end quote, but due to next 
char it looks suspect.
   
   
   In teamcity/doris/benchmark/clickbench/common/docker_trigger_api.sh line 43:
   "
   ^-- SC1073 (error): Couldn't parse this double quoted string. Fix to allow 
more checks.
   ^-- SC1009 (info): The mentioned syntax error was in this simple command.
   
   
   In teamcity/doris/benchmark/clickbench/common/docker_trigger_api.sh line 45:
   
   ^-- SC1072 (error): Expected end of double quoted string. Fix any mentioned 
problems and try again.
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_api.sh line 5:
   <<'COMMENT'
   ^---------^ SC2188 (warning): This redirection doesn't have a command. Move 
to its command (or use 'true' as no-op).
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_api.sh line 145:
   if [ $# > 0 ]; then
      ^--------^ SC2292 (style): Prefer [[ ]] over [ ] for tests in Bash/Ksh.
           ^-- SC2071 (error): > is for string comparisons. Use -gt instead.
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_api.sh line 147:
           --cancel_running_build) build_id=$2; cancel_running_build $build_id; 
shift ;;
                                                                     ^-------^ 
SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                     ^-------^ 
SC2250 (style): Prefer putting braces around variable references even when not 
strictly required.
   
   Did you mean: 
           --cancel_running_build) build_id=$2; cancel_running_build 
"$build_id"; shift ;;
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_api.sh line 148:
           --cancel_pending_build) build_id=$2; cancel_pending_build $build_id; 
shift ;;
                                                                     ^-------^ 
SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                     ^-------^ 
SC2250 (style): Prefer putting braces around variable references even when not 
strictly required.
   
   Did you mean: 
           --cancel_pending_build) build_id=$2; cancel_pending_build 
"$build_id"; shift ;;
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_api.sh line 149:
           --show_build_state) build_id=$2; res=$(show_build_state $build_id); 
echo $res; shift ;;
                                                                   ^-------^ 
SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                   ^-------^ 
SC2250 (style): Prefer putting braces around variable references even when not 
strictly required.
                                                                                
    ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                                
    ^--^ SC2250 (style): Prefer putting braces around variable references even 
when not strictly required.
   
   Did you mean: 
           --show_build_state) build_id=$2; res=$(show_build_state 
"$build_id"); echo $res; shift ;;
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_api.sh line 150:
           --show_build_status) build_id=$2; res=$(show_build_status 
$build_id); echo $res; shift ;;
                                                                     ^-------^ 
SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                     ^-------^ 
SC2250 (style): Prefer putting braces around variable references even when not 
strictly required.
                                                                                
      ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                                
      ^--^ SC2250 (style): Prefer putting braces around variable references 
even when not strictly required.
   
   Did you mean: 
           --show_build_status) build_id=$2; res=$(show_build_status 
"$build_id"); echo $res; shift ;;
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_api.sh line 153:
           --get_all_builds_of_pr_id) get_all_builds $2; shift ;;
                                                     ^-- SC2086 (info): Double 
quote to prevent globbing and word splitting.
   
   Did you mean: 
           --get_all_builds_of_pr_id) get_all_builds "$2"; shift ;;
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_api.sh line 161:
   main $@
        ^-- SC2068 (error): Double quote array expansions to avoid re-splitting 
elements.
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 4:
   
zcp_TOKEN="eyJ0eXAiOiAiVENWMiJ9.bW1DcHJpRWNCSktnREhLaHd5Y1lndmpycnJ3.NmEwM2E3YTEtMTVmYy00NGU0LWI1OTAtMzU3MzljODE0Njdk"
   ^-------^ SC2034 (warning): zcp_TOKEN appears unused. Verify use (or export 
if used externally).
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 7:
   zcp_TEAMCITY_SERVER="http://43.129.232.36:8111";
   ^-----------------^ SC2034 (warning): zcp_TEAMCITY_SERVER appears unused. 
Verify use (or export if used externally).
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 40:
       state=$(show_build_state $build_id)
                                ^-------^ SC2086 (info): Double quote to 
prevent globbing and word splitting.
                                ^-------^ SC2250 (style): Prefer putting braces 
around variable references even when not strictly required.
   
   Did you mean: 
       state=$(show_build_state "$build_id")
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 41:
       if [[ $state == "running" ]];then
             ^----^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       if [[ ${state} == "running" ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 43:
           cmd="/app/rest/builds/id:$build_id"
                                    ^-------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
   
   Did you mean: 
           cmd="/app/rest/builds/id:${build_id}"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 44:
           cmd=$cmd" -X POST -H \'Content-Type: application/json\' -d \'{ 
\"buildCancelRequest\": {       \"comment\": \"Stop obsolete running builds.\", 
     \"readdIntoQueue\": \"false\"    }  }'"
               ^--^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
           cmd=${cmd}" -X POST -H \'Content-Type: application/json\' -d \'{ 
\"buildCancelRequest\": {       \"comment\": \"Stop obsolete running builds.\", 
     \"readdIntoQueue\": \"false\"    }  }'"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 45:
           url="curl -s $HEADER \"$AUTHORIZATION $TOKEN\" $TEAMCITY_SERVER/$cmd"
                        ^-----^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                                  ^------------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
                                                 ^----^ SC2250 (style): Prefer 
putting braces around variable references even when not strictly required.
                                                          ^--------------^ 
SC2250 (style): Prefer putting braces around variable references even when not 
strictly required.
                                                                           ^--^ 
SC2250 (style): Prefer putting braces around variable references even when not 
strictly required.
   
   Did you mean: 
           url="curl -s ${HEADER} \"${AUTHORIZATION} ${TOKEN}\" 
${TEAMCITY_SERVER}/${cmd}"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 46:
           res=$(eval $eval)
                      ^---^ SC2154 (warning): eval is referenced but not 
assigned (for output from commands, use "$(eval ...)" ).
                      ^---^ SC2086 (info): Double quote to prevent globbing and 
word splitting.
                      ^---^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           res=$(eval "$eval")
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 47:
           check=$(echo $res |grep status="UNKNOWN")
                        ^--^ SC2086 (info): Double quote to prevent globbing 
and word splitting.
                        ^--^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           check=$(echo "$res" |grep status="UNKNOWN")
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 48:
           if [[ -z $check ]];then
                    ^----^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           if [[ -z ${check} ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 57:
       state=$(show_build_state $build_id)
                                ^-------^ SC2086 (info): Double quote to 
prevent globbing and word splitting.
                                ^-------^ SC2250 (style): Prefer putting braces 
around variable references even when not strictly required.
   
   Did you mean: 
       state=$(show_build_state "$build_id")
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 58:
       if [[ $state == "queued" ]];then
             ^----^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       if [[ ${state} == "queued" ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 59:
           cmd="app/rest/buildQueue/id:$build_id"
                                       ^-------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
   
   Did you mean: 
           cmd="app/rest/buildQueue/id:${build_id}"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 60:
           cmd=$cmd" -X POST -H \'Content-Type: application/json\' -d \'{ 
\"buildCancelRequest\": {       \"comment\": \"Cancel obsolete queue build.\",  
    \"readdIntoQueue\": \"false\"    }  }'"
               ^--^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
           cmd=${cmd}" -X POST -H \'Content-Type: application/json\' -d \'{ 
\"buildCancelRequest\": {       \"comment\": \"Cancel obsolete queue build.\",  
    \"readdIntoQueue\": \"false\"    }  }'"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 61:
           url="curl -s $HEADER \"$AUTHORIZATION $TOKEN\" $TEAMCITY_SERVER/$cmd"
                        ^-----^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                                  ^------------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
                                                 ^----^ SC2250 (style): Prefer 
putting braces around variable references even when not strictly required.
                                                          ^--------------^ 
SC2250 (style): Prefer putting braces around variable references even when not 
strictly required.
                                                                           ^--^ 
SC2250 (style): Prefer putting braces around variable references even when not 
strictly required.
   
   Did you mean: 
           url="curl -s ${HEADER} \"${AUTHORIZATION} ${TOKEN}\" 
${TEAMCITY_SERVER}/${cmd}"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 63:
           res=$(eval $eval)
                      ^---^ SC2086 (info): Double quote to prevent globbing and 
word splitting.
                      ^---^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           res=$(eval "$eval")
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 64:
           check=$(echo $res |grep status="UNKNOWN")
                        ^--^ SC2086 (info): Double quote to prevent globbing 
and word splitting.
                        ^--^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           check=$(echo "$res" |grep status="UNKNOWN")
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 65:
           if [[ -z $check ]];then
                    ^----^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           if [[ -z ${check} ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 73:
       cmd="app/rest/builds?locator=id:$build_id"
                                       ^-------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
   
   Did you mean: 
       cmd="app/rest/builds?locator=id:${build_id}"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 74:
       url="curl -s $HEADER \"$AUTHORIZATION $TOKEN\" $TEAMCITY_SERVER/$cmd"
                    ^-----^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                              ^------------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
                                             ^----^ SC2250 (style): Prefer 
putting braces around variable references even when not strictly required.
                                                      ^--------------^ SC2250 
(style): Prefer putting braces around variable references even when not 
strictly required.
                                                                       ^--^ 
SC2250 (style): Prefer putting braces around variable references even when not 
strictly required.
   
   Did you mean: 
       url="curl -s ${HEADER} \"${AUTHORIZATION} ${TOKEN}\" 
${TEAMCITY_SERVER}/${cmd}"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 76:
       res=`eval $url`
           ^---------^ SC2006 (style): Use $(...) notation instead of legacy 
backticks `...`.
                 ^--^ SC2086 (info): Double quote to prevent globbing and word 
splitting.
                 ^--^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       res=$(eval "$url")
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 79:
       check=$(echo $res|grep "<builds count=\"1\"")
                    ^--^ SC2086 (info): Double quote to prevent globbing and 
word splitting.
                    ^--^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       check=$(echo "$res"|grep "<builds count=\"1\"")
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 80:
       if [[ -z $check ]]; then
                ^----^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       if [[ -z ${check} ]]; then
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 84:
       state=`echo $res |awk -F ' ' '{print $9" "$10" "$11}'|awk -F "state=" 
'{print $2}'|cut -d ' ' -f 1|sed 's/\"//g'`
             ^-- SC2006 (style): Use $(...) notation instead of legacy 
backticks `...`.
                   ^--^ SC2086 (info): Double quote to prevent globbing and 
word splitting.
                   ^--^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       state=$(echo "$res" |awk -F ' ' '{print $9" "$10" "$11}'|awk -F "state=" 
'{print $2}'|cut -d ' ' -f 1|sed 's/\"//g')
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 86:
       echo $state
            ^----^ SC2086 (info): Double quote to prevent globbing and word 
splitting.
            ^----^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       echo "$state"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 91:
       cmd="app/rest/builds?locator=id:$build_id"
                                       ^-------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
   
   Did you mean: 
       cmd="app/rest/builds?locator=id:${build_id}"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 92:
       url="curl -s $HEADER \"$AUTHORIZATION $TOKEN\" $TEAMCITY_SERVER/$cmd"
                    ^-----^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                              ^------------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
                                             ^----^ SC2250 (style): Prefer 
putting braces around variable references even when not strictly required.
                                                      ^--------------^ SC2250 
(style): Prefer putting braces around variable references even when not 
strictly required.
                                                                       ^--^ 
SC2250 (style): Prefer putting braces around variable references even when not 
strictly required.
   
   Did you mean: 
       url="curl -s ${HEADER} \"${AUTHORIZATION} ${TOKEN}\" 
${TEAMCITY_SERVER}/${cmd}"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 94:
       res=`eval $url`
           ^---------^ SC2006 (style): Use $(...) notation instead of legacy 
backticks `...`.
                 ^--^ SC2086 (info): Double quote to prevent globbing and word 
splitting.
                 ^--^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       res=$(eval "$url")
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 96:
       check1=$(echo $res|grep "<builds count=\"1\"")
                     ^--^ SC2086 (info): Double quote to prevent globbing and 
word splitting.
                     ^--^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       check1=$(echo "$res"|grep "<builds count=\"1\"")
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 97:
       if [[ -z $check1 ]]; then
                ^-----^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       if [[ -z ${check1} ]]; then
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 105:
       state=`echo $res |awk -F ' ' '{print $9" "$10" "$11}'|awk -F "status=" 
'{print $2}'|cut -d ' ' -f 1|sed 's/\"//g'`
             ^-- SC2006 (style): Use $(...) notation instead of legacy 
backticks `...`.
                   ^--^ SC2086 (info): Double quote to prevent globbing and 
word splitting.
                   ^--^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       state=$(echo "$res" |awk -F ' ' '{print $9" "$10" "$11}'|awk -F 
"status=" '{print $2}'|cut -d ' ' -f 1|sed 's/\"//g')
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 107:
       echo $state
            ^----^ SC2086 (info): Double quote to prevent globbing and word 
splitting.
            ^----^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       echo "$state"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 112:
       cmd="app/rest/builds?locator=branch:$branch"
                                           ^-----^ SC2250 (style): Prefer 
putting braces around variable references even when not strictly required.
   
   Did you mean: 
       cmd="app/rest/builds?locator=branch:${branch}"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 113:
       url="curl -s $HEADER \"$AUTHORIZATION $TOKEN\" $TEAMCITY_SERVER/$cmd"
                    ^-----^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                              ^------------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
                                             ^----^ SC2250 (style): Prefer 
putting braces around variable references even when not strictly required.
                                                      ^--------------^ SC2250 
(style): Prefer putting braces around variable references even when not 
strictly required.
                                                                       ^--^ 
SC2250 (style): Prefer putting braces around variable references even when not 
strictly required.
   
   Did you mean: 
       url="curl -s ${HEADER} \"${AUTHORIZATION} ${TOKEN}\" 
${TEAMCITY_SERVER}/${cmd}"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 114:
       res=`eval $url`
           ^---------^ SC2006 (style): Use $(...) notation instead of legacy 
backticks `...`.
                 ^--^ SC2086 (info): Double quote to prevent globbing and word 
splitting.
                 ^--^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       res=$(eval "$url")
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 119:
       url="curl -s $HEADER \"$AUTHORIZATION $TOKEN\" $TEAMCITY_SERVER/$cmd"
                    ^-----^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                           ^-^ SC2089 (warning): Quotes/backslashes will be 
treated literally. Use an array.
                              ^------------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
                                             ^----^ SC2250 (style): Prefer 
putting braces around variable references even when not strictly required.
                                                      ^--------------^ SC2250 
(style): Prefer putting braces around variable references even when not 
strictly required.
                                                                       ^--^ 
SC2250 (style): Prefer putting braces around variable references even when not 
strictly required.
   
   Did you mean: 
       url="curl -s ${HEADER} \"${AUTHORIZATION} ${TOKEN}\" 
${TEAMCITY_SERVER}/${cmd}"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 121:
       res=eval $url
       ^-----------^ SC2209 (warning): Use var=$(command) to assign output (or 
quote to assign string).
                ^--^ SC2090 (warning): Quotes/backslashes in this variable will 
not be respected.
                ^--^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       res=eval ${url}
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 126:
       url="curl -s $HEADER \"$AUTHORIZATION $TOKEN\" $JSON_HEADER 
$TEAMCITY_SERVER/$cmd"
                    ^-----^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                              ^------------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
                                             ^----^ SC2250 (style): Prefer 
putting braces around variable references even when not strictly required.
                                                      ^----------^ SC2250 
(style): Prefer putting braces around variable references even when not 
strictly required.
                                                                   
^--------------^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
                                                                                
    ^--^ SC2250 (style): Prefer putting braces around variable references even 
when not strictly required.
   
   Did you mean: 
       url="curl -s ${HEADER} \"${AUTHORIZATION} ${TOKEN}\" ${JSON_HEADER} 
${TEAMCITY_SERVER}/${cmd}"
   
   
   In teamcity/doris/benchmark/clickbench/common/teamcity_common.sh line 128:
       res=`eval $url`
           ^---------^ SC2006 (style): Use $(...) notation instead of legacy 
backticks `...`.
                 ^--^ SC2086 (info): Double quote to prevent globbing and word 
splitting.
                 ^--^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
   
   Did you mean: 
       res=$(eval "$url")
   
   
   In teamcity/doris/benchmark/clickbench/common/test.sh line 12:
       while [ 1 -eq 1 ]
             ^---------^ SC2292 (style): Prefer [[ ]] over [ ] for tests in 
Bash/Ksh.
                 ^-^ SC2050 (warning): This expression is constant. Did you 
forget the $ on a variable?
   
   Did you mean: 
       while [[ 1 -eq 1 ]]
   
   
   In teamcity/doris/benchmark/clickbench/common/test.sh line 15:
        res=($(curl --header "authorization: Bearer ${GITHUB_TOKEN}" 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files?per_page=$per_page\&page=$page|jq
 -r '.[]|select(.status = "removed")| .filename'))
                ^-- SC2207 (warning): Prefer mapfile or read -a to split 
command output (or quote to avoid splitting).
                                                                                
                     ^------^ SC2248 (style): Prefer double quoting even when 
variables don't contain special characters.
                                                                                
                              ^-----^ SC2248 (style): Prefer double quoting 
even when variables don't contain special characters.
                                                                                
                                            ^------^ SC2086 (info): Double 
quote to prevent globbing and word splitting.
                                                                                
                                                                    ^-------^ 
SC2248 (style): Prefer double quoting even when variables don't contain special 
characters.
                                                                                
                                                                    ^-------^ 
SC2250 (style): Prefer putting braces around variable references even when not 
strictly required.
                                                                                
                                                                                
    ^---^ SC2248 (style): Prefer double quoting even when variables don't 
contain special characters.
                                                                                
                                                                                
    ^---^ SC2250 (style): Prefer putting braces around variable references even 
when not strictly required.
   
   Did you mean: 
        res=($(curl --header "authorization: Bearer ${GITHUB_TOKEN}" 
https://api.github.com/repos/"${owner}"/"${repo}"/pulls/"${pr_id}"/files?per_page="$per_page"\&page=$page|jq
 -r '.[]|select(.status = "removed")| .filename'))
   
   
   In teamcity/doris/benchmark/clickbench/common/test.sh line 17:
           if [ ${res_len} -ne 0 ];then
              ^------------------^ SC2292 (style): Prefer [[ ]] over [ ] for 
tests in Bash/Ksh.
                ^--------^ SC2086 (info): Double quote to prevent globbing and 
word splitting.
   
   Did you mean: 
           if [[ "${res_len}" -ne 0 ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/test.sh line 18:
            let page+=1
               ^---------^ SC2219 (style): Instead of 'let expr', prefer (( 
expr )) .
   
   
   In teamcity/doris/benchmark/clickbench/common/test.sh line 20:
            files=(${res[@]} ${files[*]})
                      ^-------^ SC2206 (warning): Quote to prevent word 
splitting/globbing, or split robustly with mapfile or read -a.
                                ^---------^ SC2206 (warning): Quote to prevent 
word splitting/globbing, or split robustly with mapfile or read -a.
   
   
   In teamcity/doris/benchmark/clickbench/common/test.sh line 30:
   out=($(get_all_change_files 11154))
        ^---------------------------^ SC2207 (warning): Prefer mapfile or read 
-a to split command output (or quote to avoid splitting).
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check.sh line 3:
   <<'COMMENT'
   ^---------^ SC2188 (warning): This redirection doesn't have a command. Move 
to its command (or use 'true' as no-op).
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
26:
       res=($(curl 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files|jq -r 
'.[]|select(.status != "removed")| .filename'))
            ^-- SC2207 (warning): Prefer mapfile or read -a to split command 
output (or quote to avoid splitting).
                                                ^------^ SC2248 (style): Prefer 
double quoting even when variables don't contain special characters.
                                                         ^-----^ SC2248 
(style): Prefer double quoting even when variables don't contain special 
characters.
                                                                       ^------^ 
SC2086 (info): Double quote to prevent globbing and word splitting.
   
   Did you mean: 
       res=($(curl 
https://api.github.com/repos/"${owner}"/"${repo}"/pulls/"${pr_id}"/files|jq -r 
'.[]|select(.status != "removed")| .filename'))
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
30:
       for file in ${res[@]}
                   ^-------^ SC2068 (error): Double quote array expansions to 
avoid re-splitting elements.
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
33:
           file_dir=$(echo $file|cut -d '/' -f 1)
                           ^---^ SC2086 (info): Double quote to prevent 
globbing and word splitting.
                           ^---^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           file_dir=$(echo "$file"|cut -d '/' -f 1)
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
34:
           if [[ $file_dir == "docs" || $file_dir == "fs_brokers" ]];then
                 ^-------^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                                        ^-------^ SC2250 (style): Prefer 
putting braces around variable references even when not strictly required.
   
   Did you mean: 
           if [[ ${file_dir} == "docs" || ${file_dir} == "fs_brokers" ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
35:
               let doc_num+=1
               ^------------^ SC2219 (style): Instead of 'let expr', prefer (( 
expr )) .
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
46:
       if [[ $doc_num -eq $file_nums ]];then
             ^------^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
                          ^--------^ SC2250 (style): Prefer putting braces 
around variable references even when not strictly required.
   
   Did you mean: 
       if [[ ${doc_num} -eq ${file_nums} ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
60:
       res=($(curl 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files|jq -r 
'.[]|select(.status != "removed")| .filename'))
            ^-- SC2207 (warning): Prefer mapfile or read -a to split command 
output (or quote to avoid splitting).
                                                ^------^ SC2248 (style): Prefer 
double quoting even when variables don't contain special characters.
                                                         ^-----^ SC2248 
(style): Prefer double quoting even when variables don't contain special 
characters.
                                                                       ^------^ 
SC2086 (info): Double quote to prevent globbing and word splitting.
   
   Did you mean: 
       res=($(curl 
https://api.github.com/repos/"${owner}"/"${repo}"/pulls/"${pr_id}"/files|jq -r 
'.[]|select(.status != "removed")| .filename'))
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
65:
       for file in ${res[@]}
                   ^-------^ SC2068 (error): Double quote array expansions to 
avoid re-splitting elements.
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
68:
           file_dir=$(echo $file|cut -d '/' -f 1)
                           ^---^ SC2086 (info): Double quote to prevent 
globbing and word splitting.
                           ^---^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           file_dir=$(echo "$file"|cut -d '/' -f 1)
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
69:
           if [[ $file_dir == "be" || $file_dir == "docs" || $file_dir == 
"fs_brokers" ]];then
                 ^-------^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                                      ^-------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
                                                             ^-------^ SC2250 
(style): Prefer putting braces around variable references even when not 
strictly required.
   
   Did you mean: 
           if [[ ${file_dir} == "be" || ${file_dir} == "docs" || ${file_dir} == 
"fs_brokers" ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
70:
               let doc_num+=1
               ^------------^ SC2219 (style): Instead of 'let expr', prefer (( 
expr )) .
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
74:
       if [[ $doc_num -eq $file_nums ]];then
             ^------^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
                          ^--------^ SC2250 (style): Prefer putting braces 
around variable references even when not strictly required.
   
   Did you mean: 
       if [[ ${doc_num} -eq ${file_nums} ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
88:
       res=($(curl 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files|jq -r 
'.[]|select(.status != "removed")| .filename'))
            ^-- SC2207 (warning): Prefer mapfile or read -a to split command 
output (or quote to avoid splitting).
                                                ^------^ SC2248 (style): Prefer 
double quoting even when variables don't contain special characters.
                                                         ^-----^ SC2248 
(style): Prefer double quoting even when variables don't contain special 
characters.
                                                                       ^------^ 
SC2086 (info): Double quote to prevent globbing and word splitting.
   
   Did you mean: 
       res=($(curl 
https://api.github.com/repos/"${owner}"/"${repo}"/pulls/"${pr_id}"/files|jq -r 
'.[]|select(.status != "removed")| .filename'))
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
93:
       for file in ${res[@]}
                   ^-------^ SC2068 (error): Double quote array expansions to 
avoid re-splitting elements.
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
96:
           file_dir=$(echo $file|cut -d '/' -f 1)
                           ^---^ SC2086 (info): Double quote to prevent 
globbing and word splitting.
                           ^---^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
   
   Did you mean: 
           file_dir=$(echo "$file"|cut -d '/' -f 1)
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
97:
           if [[ $file_dir == "fe" || $file_dir == "docs" || $file_dir == 
"fs_brokers" ]];then
                 ^-------^ SC2250 (style): Prefer putting braces around 
variable references even when not strictly required.
                                      ^-------^ SC2250 (style): Prefer putting 
braces around variable references even when not strictly required.
                                                             ^-------^ SC2250 
(style): Prefer putting braces around variable references even when not 
strictly required.
   
   Did you mean: 
           if [[ ${file_dir} == "fe" || ${file_dir} == "docs" || ${file_dir} == 
"fs_brokers" ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
98:
               let doc_num+=1
               ^------------^ SC2219 (style): Instead of 'let expr', prefer (( 
expr )) .
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
102:
       if [[ $doc_num -eq $file_nums ]];then
             ^------^ SC2250 (style): Prefer putting braces around variable 
references even when not strictly required.
                          ^--------^ SC2250 (style): Prefer putting braces 
around variable references even when not strictly required.
   
   Did you mean: 
       if [[ ${doc_num} -eq ${file_nums} ]];then
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
113:
   if [ $# > 0 ]; then
      ^--------^ SC2292 (style): Prefer [[ ]] over [ ] for tests in Bash/Ksh.
           ^-- SC2071 (error): > is for string comparisons. Use -gt instead.
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
115:
           --is_modify_only_invoved_be) check_all_change_files_is_under_be $2; 
shift ;;
                                                                           ^-- 
SC2086 (info): Double quote to prevent globbing and word splitting.
   
   Did you mean: 
           --is_modify_only_invoved_be) check_all_change_files_is_under_be 
"$2"; shift ;;
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
116:
           --is_modify_only_invoved_fe) check_all_change_files_is_under_fe $2; 
shift ;;
                                                                           ^-- 
SC2086 (info): Double quote to prevent globbing and word splitting.
   
   Did you mean: 
           --is_modify_only_invoved_fe) check_all_change_files_is_under_fe 
"$2"; shift ;;
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
117:
        --is_modify_only_doc) check_all_change_files_is_under_doc $2; shift ;;
                                                                     ^-- SC2086 
(info): Double quote to prevent globbing and word splitting.
   
   Did you mean: 
        --is_modify_only_doc) check_all_change_files_is_under_doc "$2"; shift ;;
   
   
   In teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh line 
124:
   main $@
        ^-- SC2068 (error): Double quote array expansions to avoid re-splitting 
elements.
   
   For more information:
     https://www.shellcheck.net/wiki/SC2068 -- Double quote array expansions to 
...
     https://www.shellcheck.net/wiki/SC2071 -- > is for string comparisons. Use 
...
     https://www.shellcheck.net/wiki/SC1078 -- Did you forget to close this 
doub...
   ----------
   
   You can address the above issues in one of three ways:
   1. Manually correct the issue in the offending shell script;
   2. Disable specific issues by adding the comment:
     # shellcheck disable=NNNN
   above the line that contains the issue, where NNNN is the error code;
   3. Add '-e NNNN' to the SHELLCHECK_OPTS setting in your .yml action file.
   
   
   
   ```
   </details>
   
   <details>
   <summary>shfmt errors</summary>
   
   ```
   
   'shfmt ' returned error 1 finding the following formatting issues:
   
   ----------
   --- bin/start_be.sh.orig
   +++ bin/start_be.sh
   @@ -233,4 +233,3 @@
        export DORIS_LOG_TO_STDERR=1
        ${LIMIT:+${LIMIT}} "${DORIS_HOME}/lib/doris_be" "$@" 2>&1 </dev/null
    fi
   -
   --- 
teamcity/doris/benchmark/clickbench/common/check_and_kill_deleted_proc.sh.orig
   +++ teamcity/doris/benchmark/clickbench/common/check_and_kill_deleted_proc.sh
   @@ -8,23 +8,22 @@
    echo "===================================="
    echo "START TO DETECT RESIDUAL PROCESSES!"
    
   -check=$(lsof -i:$port|awk '{print $2}'|wc -l)
   -if [ "check$check" != "check0" ];then
   -    if [ "check"${case_level} == "check" ];then
   -        check_res=$(pwdx `lsof -i:$port|grep -v PID|awk '{print $2}'`|grep 
$env_name|grep deleted||wc -l)
   +check=$(lsof -i:$port | awk '{print $2}' | wc -l)
   +if [ "check$check" != "check0" ]; then
   +    if [ "check"${case_level} == "check" ]; then
   +        check_res=$(pwdx $(lsof -i:$port | grep -v PID | awk '{print $2}') 
| grep $env_name | grep deleted || wc -l)
        else
   -        check_res=$(pwdx `lsof -i:$port|grep -v PID|awk '{print $2}'`|grep 
$env_name|grep $case_level|grep deleted||wc -l)
   +        check_res=$(pwdx $(lsof -i:$port | grep -v PID | awk '{print $2}') 
| grep $env_name | grep $case_level | grep deleted || wc -l)
        fi
   -    if [ "check$check_res" != "check0" ];then
   -        be_pid=(`lsof -i:$port|grep -v PID|awk '{print $2}'`)
   +    if [ "check$check_res" != "check0" ]; then
   +        be_pid=($(lsof -i:$port | grep -v PID | awk '{print $2}'))
            echo "Detected residual processes: ${be_pid}"
            echo "kill residual processes: kill -9 ${be_pid}"
            kill -9 $be_pid
        fi
    else
   -        echo "No residual processes"
   +    echo "No residual processes"
    fi
    
   -
    echo "FINISH DETECT RESIDUAL PROCESSES!"
    echo "==================================="
   --- teamcity/doris/benchmark/clickbench/common/check_change_file.sh.orig
   +++ teamcity/doris/benchmark/clickbench/common/check_change_file.sh
   @@ -7,7 +7,7 @@
    GITHUB_TOKEN=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
    
    usage() {
   -  echo "
   +    echo "
    Usage: $0 <options>
      Optional options:
    
   @@ -16,23 +16,21 @@
        $0 --is_modify_only_invoved_fe pr_id          if pr changed code only 
invoved fe doc, fs_brocker, return 0; else return 2
        $0 --is_modify_only_invoved_doc pr_id         if pr changed code only 
invoved doc, fs_brocker, return 0; else return 2
      "
   -  exit 1
   +    exit 1
    }
    
   -
   -function get_all_change_files(){
   +function get_all_change_files() {
        pr_id=$1
        files=()
    
        page=1
        per_page=100
   -    while [ 1 -eq 1 ]
   -    do
   +    while [ 1 -eq 1 ]; do
            #echo "curl --header 'authorization: Bearer ${GITHUB_TOKEN}' 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files?per_page=$per_page\&page=$page";
   -        res=($(curl --header "authorization: Bearer ${GITHUB_TOKEN}" 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files?per_page=$per_page\&page=$page|jq
 -r '.[]|select(.status = "removed")| .filename'))
   +        res=($(curl --header "authorization: Bearer ${GITHUB_TOKEN}" 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files?per_page=$per_page\&page=$page
 | jq -r '.[]|select(.status = "removed")| .filename'))
            res_len=${#res[@]}
            #echo "================"$res_len
   -        if [ ${res_len} -ne 0 ];then
   +        if [ ${res_len} -ne 0 ]; then
                let page+=1
                #files="${res[@]}""$files"
                files=(${res[@]} ${files[*]})
   @@ -44,8 +42,7 @@
        echo "${files[@]}"
    }
    
   -
   -function check_removed_change_file(){
   +function check_removed_change_file() {
        pr_id=$1
        module=$2
        owner='apache'
   @@ -55,26 +52,25 @@
        file_nums=${#res[@]}
        is_code_change_flag=false
        module_file=0
   -    for file in ${res[@]}
   -    do
   -    #echo "$file"
   -    file_dir=$(echo $file|cut -d '/' -f 1)
   -        file_type=$(echo $file|rev|cut -d / -f 1|cut -d '.' -f 1|rev)
   -    #if [[  "check$file_dir" == "check${module}" &&  ($file_type == "cpp" 
|| $file_type == "c" || $file_type == "java" || $file_type == "py" || 
$file_type == "h" || $file_type == 'js') ]];then
   -    if [[ $file_type == "cpp" || $file_type == "c" || $file_type == "java" 
|| $file_type == "py" || $file_type == "h" || $file_type == 'js' ]];then
   -        echo "code has changed, ${file} is deleted"
   -        is_code_change_flag=true
   -    fi
   -    if [[ "check$file_dir" == "check${module}" ]];then
   +    for file in ${res[@]}; do
   +        #echo "$file"
   +        file_dir=$(echo $file | cut -d '/' -f 1)
   +        file_type=$(echo $file | rev | cut -d / -f 1 | cut -d '.' -f 1 | 
rev)
   +        #if [[  "check$file_dir" == "check${module}" &&  ($file_type == 
"cpp" || $file_type == "c" || $file_type == "java" || $file_type == "py" || 
$file_type == "h" || $file_type == 'js') ]];then
   +        if [[ $file_type == "cpp" || $file_type == "c" || $file_type == 
"java" || $file_type == "py" || $file_type == "h" || $file_type == 'js' ]]; then
   +            echo "code has changed, ${file} is deleted"
   +            is_code_change_flag=true
   +        fi
   +        if [[ "check$file_dir" == "check${module}" ]]; then
                let module_file+=1
   -    fi
   +        fi
        done
    
   -    if [[ "${is_code_change_flag}" == "false" ]];then
   -    echo "NO CODE FILE DELETED, PASSED!"
   +    if [[ "${is_code_change_flag}" == "false" ]]; then
   +        echo "NO CODE FILE DELETED, PASSED!"
            return 0
        else
   -    echo "CODE FILE BE DELETED"
   +        echo "CODE FILE BE DELETED"
            return 2
        fi
    
   @@ -95,20 +91,18 @@
    
        doc_num=0
        doc_sql_manual_num=0
   -    for file in ${res[@]}
   -    do
   +    for file in ${res[@]}; do
            #check change file is on docs/fs_brokers or not
   -    echo "$file"
   -        file_dir=$(echo $file|cut -d '/' -f 1)
   -    if [[ $file_dir == "docs" ]];then
   +        echo "$file"
   +        file_dir=$(echo $file | cut -d '/' -f 1)
   +        if [[ $file_dir == "docs" ]]; then
                let doc_num+=1
   -    fi
   -        if [[ "$file" =~ "docs/zh-CN/docs/sql-manual/" || "$file" =~ 
"docs/en/docs/sql-manual/" ]];then
   +        fi
   +        if [[ "$file" =~ "docs/zh-CN/docs/sql-manual/" || "$file" =~ 
"docs/en/docs/sql-manual/" ]]; then
                let doc_sql_manual_num+=1
                continue
            fi
    
   -
            #check change file is md/txt/doc file
            #file_type=$(echo $file|cut -d '.' -f 2)
            #if [[ $file_type == "md" || $file_type == "txt" || $file_type == 
"doc" ]];then
   @@ -120,7 +114,7 @@
        echo "doc_num: $doc_num"
        echo "file_nums: $file_nums"
        echo "doc_sql_manual_num: $doc_sql_manual_num"
   -    if [[ $doc_num -eq $file_nums && $doc_sql_manual_num -eq 0 ]];then
   +    if [[ $doc_num -eq $file_nums && $doc_sql_manual_num -eq 0 ]]; then
            echo "JUST MODIFY DOCUMENT, NO COED CHSNGED, PASSED!"
            return 0
        else
   @@ -143,17 +137,16 @@
    
        doc_num=0
        echo "START CHECK CODE IS ONLY RELATED BE OR NOT"
   -    for file in ${res[@]}
   -    do
   +    for file in ${res[@]}; do
            echo "$file"
            #check change file is on be or not
   -        file_dir=$(echo $file|cut -d '/' -f 1)
   -        if [[ $file_dir == "be" || $file_dir == "docs" || $file_dir == 
"fs_brokers" ]];then
   +        file_dir=$(echo $file | cut -d '/' -f 1)
   +        if [[ $file_dir == "be" || $file_dir == "docs" || $file_dir == 
"fs_brokers" ]]; then
                let doc_num+=1
                continue
   -    fi
   +        fi
        done
   -    if [[ $doc_num -eq $file_nums ]];then
   +    if [[ $doc_num -eq $file_nums ]]; then
            echo "JUST MODIFY BE CODE, NO NEED RUN FE UT, PASSED!"
            return 0
        else
   @@ -176,17 +169,16 @@
    
        doc_num=0
        echo "START CHECK CODE IS ONLY RELATED FE OR NOT"
   -    for file in ${res[@]}
   -    do
   +    for file in ${res[@]}; do
            echo "$file"
            #check change file is on be or not
   -        file_dir=$(echo $file|cut -d '/' -f 1)
   -        if [[ $file_dir == "fe" || $file_dir == "docs" || $file_dir == 
"fs_brokers" ]];then
   +        file_dir=$(echo $file | cut -d '/' -f 1)
   +        if [[ $file_dir == "fe" || $file_dir == "docs" || $file_dir == 
"fs_brokers" ]]; then
                let doc_num+=1
                continue
            fi
        done
   -    if [[ $doc_num -eq $file_nums ]];then
   +    if [[ $doc_num -eq $file_nums ]]; then
            echo "JUST MODIFY FE CODE, NO NEED RUN BE UT, PASSED!"
            return 0
        else
   @@ -197,42 +189,49 @@
    
    main() {
    
   -if [ $# > 0 ]; then
   -    case "$1" in
   +    if [ $# ] >0; then
   +        case "$1" in
            --is_modify_only_invoved_be)
   -        check_removed_change_file $2 "be"
   -        check_1=$?
   -        check_all_change_files_is_under_be $2
   -        check_2=$?
   -        echo ${check_1}
   -        echo ${check_2}
   -        res=`expr $check_1 \* $check_2`
   -        exit $res
   -        shift ;;
   +            check_removed_change_file $2 "be"
   +            check_1=$?
   +            check_all_change_files_is_under_be $2
   +            check_2=$?
   +            echo ${check_1}
   +            echo ${check_2}
   +            res=$(expr $check_1 \* $check_2)
   +            exit $res
   +            shift
   +            ;;
            --is_modify_only_invoved_fe)
   -        check_removed_change_file $2 "fe"
   -        check_1=$?
   -        check_all_change_files_is_under_fe $2
   -        check_2=$?
   -            res=`expr $check_1 \* $check_2`
   -        echo ${check_1}
   -        echo ${check_2}
   -        exit $res
   -        shift ;;
   -    --is_modify_only_invoved_doc)
   -        check_removed_change_file $2 "docs"
   -        check_1=$?
   -        check_all_change_files_is_under_doc $2
   -        check_2=$?
   -            res=`expr $check_1 + $check_2`
   -        echo ${check_1}
   +            check_removed_change_file $2 "fe"
   +            check_1=$?
   +            check_all_change_files_is_under_fe $2
   +            check_2=$?
   +            res=$(expr $check_1 \* $check_2)
   +            echo ${check_1}
                echo ${check_2}
   -        exit $res
   -        shift ;;
   -        *) echo "ERROR"; usage; exit 1 ;;
   -    esac
   +            exit $res
   +            shift
   +            ;;
   +        --is_modify_only_invoved_doc)
   +            check_removed_change_file $2 "docs"
   +            check_1=$?
   +            check_all_change_files_is_under_doc $2
   +            check_2=$?
   +            res=$(expr $check_1 + $check_2)
   +            echo ${check_1}
   +            echo ${check_2}
   +            exit $res
   +            shift
   +            ;;
   +        *)
   +            echo "ERROR"
   +            usage
   +            exit 1
   +            ;;
   +        esac
    
   -fi
   +    fi
    }
    
    main $@
   --- teamcity/doris/benchmark/clickbench/common/clean_disk.sh.orig
   +++ teamcity/doris/benchmark/clickbench/common/clean_disk.sh
   @@ -3,7 +3,7 @@
    df -h
    existsTime=720
    #delete files created 20 hours ago
   -echo `date "+%Y-%m-%d %H:%M:%S"` "start to clear oudate file!"
   +echo $(date "+%Y-%m-%d %H:%M:%S") "start to clear oudate file!"
    cd /home/work/teamcity/TeamCity/piplineWork/Compile/
    find /home/work/teamcity/TeamCity/piplineWork/Compile/ -maxdepth 1 
-mindepth 1 -mmin +${existsTime} -type d -name "*_*" -exec rm -rf {} \;
    cd -
   teamcity/doris/benchmark/clickbench/common/docker_trigger_api.sh:43:1: 
reached EOF without closing quote "
   --- teamcity/doris/benchmark/clickbench/common/teamcity_api.sh.orig
   +++ teamcity/doris/benchmark/clickbench/common/teamcity_api.sh
   @@ -139,23 +139,55 @@
    }
    COMMENT
    
   -
    main() {
    
   -if [ $# > 0 ]; then
   -    case "$1" in 
   -        --cancel_running_build) build_id=$2; cancel_running_build 
$build_id; shift ;;
   -        --cancel_pending_build) build_id=$2; cancel_pending_build 
$build_id; shift ;;
   -        --show_build_state) build_id=$2; res=$(show_build_state $build_id); 
echo $res; shift ;;
   -        --show_build_status) build_id=$2; res=$(show_build_status 
$build_id); echo $res; shift ;;
   -        --show_latest_builds) get_latest_builds; shift ;;
   -        --show_queued_builds) get_queued_builds; shift ;;
   -        --get_all_builds_of_pr_id) get_all_builds $2; shift ;;
   -    --help) usage; shift ;;
   -        *) echo "ERROR"; exit 1 ;;
   -    esac
   +    if [ $# ] >0; then
   +        case "$1" in
   +        --cancel_running_build)
   +            build_id=$2
   +            cancel_running_build $build_id
   +            shift
   +            ;;
   +        --cancel_pending_build)
   +            build_id=$2
   +            cancel_pending_build $build_id
   +            shift
   +            ;;
   +        --show_build_state)
   +            build_id=$2
   +            res=$(show_build_state $build_id)
   +            echo $res
   +            shift
   +            ;;
   +        --show_build_status)
   +            build_id=$2
   +            res=$(show_build_status $build_id)
   +            echo $res
   +            shift
   +            ;;
   +        --show_latest_builds)
   +            get_latest_builds
   +            shift
   +            ;;
   +        --show_queued_builds)
   +            get_queued_builds
   +            shift
   +            ;;
   +        --get_all_builds_of_pr_id)
   +            get_all_builds $2
   +            shift
   +            ;;
   +        --help)
   +            usage
   +            shift
   +            ;;
   +        *)
   +            echo "ERROR"
   +            exit 1
   +            ;;
   +        esac
    
   -fi
   +    fi
    }
    
    main $@
   --- teamcity/doris/benchmark/clickbench/common/teamcity_common.sh.orig
   +++ teamcity/doris/benchmark/clickbench/common/teamcity_common.sh
   @@ -11,7 +11,7 @@
    JSON_HEADER="--header \"Accept: application/json\""
    
    usage() {
   -  echo "
   +    echo "
    Usage: $0 <options>
      Optional options:
         --cancel_running_build build_id    cancel a specific running build
   @@ -32,21 +32,21 @@
        $0 --show_queued_builds             show all queued builds
        $0 --get_all_builds_of_pr_id 9151   get all 9151 builds
      "
   -  exit 1
   +    exit 1
    }
    
    cancel_running_build() {
        build_id=$1
        state=$(show_build_state $build_id)
   -    if [[ $state == "running" ]];then
   +    if [[ $state == "running" ]]; then
            #curl --header "Authorization: Bearer 
eyJ0eXAiOiAiVENWMiJ9.bW1DcHJpRWNCSktnREhLaHd5Y1lndmpycnJ3.NmEwM2E3YTEtMTVmYy00NGU0LWI1OTAtMzU3MzljODE0Njdk"
 http://43.129.232.36:8111/app/rest/builds/id:333 -X POST -H 'Content-Type: 
application/json' -d '{ "buildCancelRequest": {       "comment": "Already 
running builds will be stopped.",      "readdIntoQueue": "false"    }  }'
            cmd="/app/rest/builds/id:$build_id"
            cmd=$cmd" -X POST -H \'Content-Type: application/json\' -d \'{ 
\"buildCancelRequest\": {       \"comment\": \"Stop obsolete running builds.\", 
     \"readdIntoQueue\": \"false\"    }  }'"
            url="curl -s $HEADER \"$AUTHORIZATION $TOKEN\" 
$TEAMCITY_SERVER/$cmd"
            res=$(eval $eval)
   -        check=$(echo $res |grep status="UNKNOWN")
   -        if [[ -z $check ]];then
   -           echo "cancel fail!"
   +        check=$(echo $res | grep status="UNKNOWN")
   +        if [[ -z $check ]]; then
   +            echo "cancel fail!"
            fi
        fi
    
   @@ -55,15 +55,15 @@
    cancel_pending_build() {
        build_id=$1
        state=$(show_build_state $build_id)
   -    if [[ $state == "queued" ]];then
   +    if [[ $state == "queued" ]]; then
            cmd="app/rest/buildQueue/id:$build_id"
            cmd=$cmd" -X POST -H \'Content-Type: application/json\' -d \'{ 
\"buildCancelRequest\": {       \"comment\": \"Cancel obsolete queue build.\",  
    \"readdIntoQueue\": \"false\"    }  }'"
            url="curl -s $HEADER \"$AUTHORIZATION $TOKEN\" 
$TEAMCITY_SERVER/$cmd"
            #echo $url
            res=$(eval $eval)
   -        check=$(echo $res |grep status="UNKNOWN")
   -        if [[ -z $check ]];then
   -           echo "cancel fail!"
   +        check=$(echo $res | grep status="UNKNOWN")
   +        if [[ -z $check ]]; then
   +            echo "cancel fail!"
            fi
        fi
    }
   @@ -73,15 +73,15 @@
        cmd="app/rest/builds?locator=id:$build_id"
        url="curl -s $HEADER \"$AUTHORIZATION $TOKEN\" $TEAMCITY_SERVER/$cmd"
        #echo $url
   -    res=`eval $url`
   -    
   +    res=$(eval $url)
   +
        #check build exist or not
   -    check=$(echo $res|grep "<builds count=\"1\"")
   +    check=$(echo $res | grep "<builds count=\"1\"")
        if [[ -z $check ]]; then
            return
        fi
        #get state
   -    state=`echo $res |awk -F ' ' '{print $9" "$10" "$11}'|awk -F "state=" 
'{print $2}'|cut -d ' ' -f 1|sed 's/\"//g'`
   +    state=$(echo $res | awk -F ' ' '{print $9" "$10" "$11}' | awk -F 
"state=" '{print $2}' | cut -d ' ' -f 1 | sed 's/\"//g')
        #only 2 state: queued and finished
        echo $state
    }
   @@ -91,9 +91,9 @@
        cmd="app/rest/builds?locator=id:$build_id"
        url="curl -s $HEADER \"$AUTHORIZATION $TOKEN\" $TEAMCITY_SERVER/$cmd"
        #echo $url
   -    res=`eval $url`
   +    res=$(eval $url)
        #check build exist or not
   -    check1=$(echo $res|grep "<builds count=\"1\"")
   +    check1=$(echo $res | grep "<builds count=\"1\"")
        if [[ -z $check1 ]]; then
            return
        fi
   @@ -102,8 +102,8 @@
        #if [[ -z $check ]]; then
        #    return
        #fi
   -    state=`echo $res |awk -F ' ' '{print $9" "$10" "$11}'|awk -F "status=" 
'{print $2}'|cut -d ' ' -f 1|sed 's/\"//g'`
   -    #only 2 state: 
   +    state=$(echo $res | awk -F ' ' '{print $9" "$10" "$11}' | awk -F 
"status=" '{print $2}' | cut -d ' ' -f 1 | sed 's/\"//g')
   +    #only 2 state:
        echo $state
    }
    
   @@ -111,7 +111,7 @@
        branch=$1
        cmd="app/rest/builds?locator=branch:$branch"
        url="curl -s $HEADER \"$AUTHORIZATION $TOKEN\" $TEAMCITY_SERVER/$cmd"
   -    res=`eval $url`
   +    res=$(eval $url)
    }
    
    get_latest_builds() {
   @@ -125,14 +125,12 @@
        cmd="app/rest/buildQueue"
        url="curl -s $HEADER \"$AUTHORIZATION $TOKEN\" $JSON_HEADER 
$TEAMCITY_SERVER/$cmd"
        #echo $url
   -    res=`eval $url`
   +    res=$(eval $url)
        #a=$(echo $res|grep -oP 'build id=.*'|head -1)
   -    
   -    
   +
        #a=$res
        #while [[ "check"$a != "check" ]]
        #do
        #    a=$(echo $a|awk -F 'build id="' '{print $2}')
        #done
    }
   -
   --- teamcity/doris/benchmark/clickbench/common/test.sh.orig
   +++ teamcity/doris/benchmark/clickbench/common/test.sh
   @@ -3,33 +3,29 @@
    repo=doris
    GITHUB_TOKEN=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
    
   -function get_all_change_files(){
   +function get_all_change_files() {
        pr_id=$1
        files=()
    
        page=1
        per_page=100
   -    while [ 1 -eq 1 ]
   -    do
   -    #echo "curl --header 'authorization: Bearer ${GITHUB_TOKEN}' 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files?per_page=$per_page\&page=$page";
   -    res=($(curl --header "authorization: Bearer ${GITHUB_TOKEN}" 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files?per_page=$per_page\&page=$page|jq
 -r '.[]|select(.status = "removed")| .filename'))
   +    while [ 1 -eq 1 ]; do
   +        #echo "curl --header 'authorization: Bearer ${GITHUB_TOKEN}' 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files?per_page=$per_page\&page=$page";
   +        res=($(curl --header "authorization: Bearer ${GITHUB_TOKEN}" 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files?per_page=$per_page\&page=$page
 | jq -r '.[]|select(.status = "removed")| .filename'))
            res_len=${#res[@]}
   -        if [ ${res_len} -ne 0 ];then
   -        let page+=1
   +        if [ ${res_len} -ne 0 ]; then
   +            let page+=1
                #files="${res[@]}""$files"
   -        files=(${res[@]} ${files[*]})
   +            files=(${res[@]} ${files[*]})
            else
                break
            fi
   -    echo 
   +        echo
        done
        echo "${files[@]}"
    }
    
   -
    out=($(get_all_change_files 11154))
    
   -
   -
    echo "=================="
    echo "${out[@]}"
   --- teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh.orig
   +++ teamcity/doris/benchmark/clickbench/common/zcp_check_change_file.sh
   @@ -3,9 +3,8 @@
    #res=(`git diff --name-only HEAD~ HEAD`)
    #file_nums=${#res[@]}
    
   -
    usage() {
   -  echo "
   +    echo "
    Usage: $0 <options>
      Optional options:
    
   @@ -14,24 +13,22 @@
        $0 --is_modify_only_invoved_fe pr_id          if pr changed code only 
invoved fe doc, fs_brocker, return 0; else return 2
        $0 --is_modify_only_invoved_doc pr_id         if pr changed code only 
invoved doc, fs_brocker, return 0; else return 2
      "
   -  exit 1
   +    exit 1
    }
    
   -
    function check_all_change_files_is_under_doc() {
    
        pr_id=$1
        owner='apache'
        repo='incubator-doris'
   -    res=($(curl 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files|jq -r 
'.[]|select(.status != "removed")| .filename'))
   +    res=($(curl 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files | jq -r 
'.[]|select(.status != "removed")| .filename'))
        file_nums=${#res[@]}
    
        doc_num=0
   -    for file in ${res[@]}
   -    do
   +    for file in ${res[@]}; do
            #check change file is on docs/fs_brokers or not
   -        file_dir=$(echo $file|cut -d '/' -f 1)
   -        if [[ $file_dir == "docs" || $file_dir == "fs_brokers" ]];then
   +        file_dir=$(echo $file | cut -d '/' -f 1)
   +        if [[ $file_dir == "docs" || $file_dir == "fs_brokers" ]]; then
                let doc_num+=1
                continue
            fi
   @@ -43,7 +40,7 @@
            #fi
        done
    
   -    if [[ $doc_num -eq $file_nums ]];then
   +    if [[ $doc_num -eq $file_nums ]]; then
            echo "JUST MODIFY DOCUMENT, NO COED CHSNGED, PASSED!"
            exit 0
        else
   @@ -57,21 +54,20 @@
        pr_id=$1
        owner='apache'
        repo='incubator-doris'
   -    res=($(curl 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files|jq -r 
'.[]|select(.status != "removed")| .filename'))
   +    res=($(curl 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files | jq -r 
'.[]|select(.status != "removed")| .filename'))
        file_nums=${#res[@]}
    
        doc_num=0
        echo "START CHECK CODE IS ONLY RELATED BE OR NOT"
   -    for file in ${res[@]}
   -    do
   +    for file in ${res[@]}; do
            #check change file is on be or not
   -        file_dir=$(echo $file|cut -d '/' -f 1)
   -        if [[ $file_dir == "be" || $file_dir == "docs" || $file_dir == 
"fs_brokers" ]];then
   +        file_dir=$(echo $file | cut -d '/' -f 1)
   +        if [[ $file_dir == "be" || $file_dir == "docs" || $file_dir == 
"fs_brokers" ]]; then
                let doc_num+=1
                continue
   -    fi
   +        fi
        done
   -    if [[ $doc_num -eq $file_nums ]];then
   +    if [[ $doc_num -eq $file_nums ]]; then
            echo "JUST MODIFY BE CODE, NO NEED RUN FE UT, PASSED!"
            exit 0
        else
   @@ -85,21 +81,20 @@
        pr_id=$1
        owner='apache'
        repo='incubator-doris'
   -    res=($(curl 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files|jq -r 
'.[]|select(.status != "removed")| .filename'))
   +    res=($(curl 
https://api.github.com/repos/${owner}/${repo}/pulls/${pr_id}/files | jq -r 
'.[]|select(.status != "removed")| .filename'))
        file_nums=${#res[@]}
    
        doc_num=0
        echo "START CHECK CODE IS ONLY RELATED FE OR NOT"
   -    for file in ${res[@]}
   -    do
   +    for file in ${res[@]}; do
            #check change file is on be or not
   -        file_dir=$(echo $file|cut -d '/' -f 1)
   -        if [[ $file_dir == "fe" || $file_dir == "docs" || $file_dir == 
"fs_brokers" ]];then
   +        file_dir=$(echo $file | cut -d '/' -f 1)
   +        if [[ $file_dir == "fe" || $file_dir == "docs" || $file_dir == 
"fs_brokers" ]]; then
                let doc_num+=1
                continue
            fi
        done
   -    if [[ $doc_num -eq $file_nums ]];then
   +    if [[ $doc_num -eq $file_nums ]]; then
            echo "JUST MODIFY FE CODE, NO NEED RUN BE UT, PASSED!"
            exit 0
        else
   @@ -110,15 +105,28 @@
    
    main() {
    
   -if [ $# > 0 ]; then
   -    case "$1" in
   -        --is_modify_only_invoved_be) check_all_change_files_is_under_be $2; 
shift ;;
   -        --is_modify_only_invoved_fe) check_all_change_files_is_under_fe $2; 
shift ;;
   -    --is_modify_only_doc) check_all_change_files_is_under_doc $2; shift ;;
   -        *) echo "ERROR"; usage; exit 1 ;;
   -    esac
   +    if [ $# ] >0; then
   +        case "$1" in
   +        --is_modify_only_invoved_be)
   +            check_all_change_files_is_under_be $2
   +            shift
   +            ;;
   +        --is_modify_only_invoved_fe)
   +            check_all_change_files_is_under_fe $2
   +            shift
   +            ;;
   +        --is_modify_only_doc)
   +            check_all_change_files_is_under_doc $2
   +            shift
   +            ;;
   +        *)
   +            echo "ERROR"
   +            usage
   +            exit 1
   +            ;;
   +        esac
    
   -fi
   +    fi
    }
    
    main $@
   --- teamcity/doris/benchmark/clickbench/prepare.sh.orig
   +++ teamcity/doris/benchmark/clickbench/prepare.sh
   @@ -22,9 +22,3 @@
    fi
    qa_home="${pipeline_home}/selectdb-qa"
    cd "${qa_home}" && git stash && git checkout main && git pull && cd -
   -
   -
   -
   -
   -
   -
   ----------
   
   You can reformat the above files to meet shfmt's requirements by typing:
   
     shfmt  -w filename
   
   
   ```
   </details>
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to