技術討論區 > Linux 討論版

shell 問題

(1/2) > >>

egg41230:

#!/bin/bash

#創建資料夾
#擷取domain字串
cut_domain_string(){
domain_string=$(echo  "$2" | awk  -F ';'  '{for (i=1; i <= NF; i++) {printf $i" "}}' )
echo $domain_string
}
#擷取目錄字串
cut_dir_string(){
cut_dirtime_string=$(echo   "$1" | awk  '{print $1}' )
echo $cut_dirtime_string
}

backup(){
 bp_dir='/root/conf/backup'
 mkdir -p  "$bp_dir"/"$cut_timedir"/"$cut_domain_dir"
}
main(){
cut_timedir=$(cut_dir_string $1)
cut_domain_dir=$(cut_domain_string $2)
backup $cut_timedir $cut_domain_dir
}

main $1 $2

請問一下我寫了一隻shell 程式碼如上,我把$2的值傳給cut_domain_string,卻無法傳遞進去,請問我為啥無法傳遞進去?
在猜是否為awk 的問題?

netman:
cut_domain_string 裏面要寫 $1

egg41230:
感恩大大~已經OK了

egg41230:

--- 引述: egg41230 於 2018-09-17 14:33 ---
#!/bin/bash

#創建資料夾
#擷取domain字串
cut_domain_string(){
domain_string=$(echo  "$2" | awk  -F ';'  '{for (i=1; i <= NF; i++) {printf $i" "}}' )
echo $domain_string
}
#擷取目錄字串
cut_dir_string(){
cut_dirtime_string=$(echo   "$1" | awk  '{print $1}' )
echo $cut_dirtime_string
}

backup(){
 bp_dir='/root/conf/backup'
 mkdir -p  "$bp_dir"/"$cut_timedir"/"$cut_domain_dir"
}
main(){
cut_timedir=$(cut_dir_string $1)
cut_domain_dir=$(cut_domain_string $2)
backup $cut_timedir $cut_domain_dir
}

main $1 $2

請問一下我寫了一隻shell 程式碼如上,我把$2的值傳給cut_domain_string,卻無法傳遞進去,請問我為啥無法傳遞進去?
在猜是否為awk 的問題?

--- 引用結尾 ---
各位大大~小弟不才~這邊想請教一個問題~再shell 裏面的function 變數不是都是全域的嗎,那我想請問一下為啥我在上面
的寫法,再main() function  裡面 echo $bp_dir 為啥會是空字串?

netman:
要執行完backup再echo

導覽

[0] 文章列表

[#] 下頁

前往完整版本