shell格式化字符串


假如你有以下代碼:

1 TEMP_SQL="SELECT count(uid) from ${TABLE_PREFIX}_%s;"
2 
3 SUM=0
4 for((i=${MIN};i<${MAX};i++));
5 do
6     echo "${TABLE_PREFIX}_${i}"
7     SQL= ???
8     print ${SQL}
9 done

這個在我們寫shell代碼時是很常見的操作,上述代碼的第7行,我希望以TEMP_SQL為模板將里面%s替換為for循環中i的值,該怎么操作呢?

答案:

1 TEMP_SQL="SELECT count(uid) from ${TABLE_PREFIX}_%s;"
2 
3 SUM=0
4 for((i=${MIN};i<${MAX};i++));
5 do
6     echo "${TABLE_PREFIX}_${i}"
7     SQL=$(printf "${TEMP_SQL}" ${i})
8     print ${SQL}
9 done

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM