bash

Bash 神奇的字串處理 - Shell Parameter Expansion

開發時難免都會需要撰寫 shell script 將一些瑣碎的事情自動化,最常見的大概就是利用 bash 撰寫 shell script 。

不過 bash 有些功能並非為眾人皆知卻十分方便,例如 shell parameter expansion 就有許多好用的功能,例如算字串長度、字串取代、大小寫轉換等等,如果學會運用,可以事半功倍!

本篇將介紹幾種好用的 shell parameter expansion 。

Posted on  Sep 1, 2020  in  Unix-like 命令列教學  by  Amo Chen  ‐ 3 min read

wait-for-it.sh - 使用 Docker Compose depends_on 的必備 bash script

撰寫 docker-compose.yaml 經常會遇到要使用 depends_on 的情況,確保某些特定的服務可以先啟動,例如 Web Application 經常要 depends_on 資料庫(database)服務。

但是 depends_on 指確保該 container 狀態會進到 running ,而非確保 container 內的服務會完整啟動結束。

However, for startup Compose does not wait until a container is “ready” (whatever that means for your particular application) - only until it’s running.

以 Web Application 與資料庫服務為例,在這種情況下,就會遇到資料庫服務的 container 已經進到 running ,但其實資料庫的程序(process)還沒完全啟動,進而導致 Web Application 服務連不到資料庫而失敗。

遇到這問題,建議可以使用 wait-for-it.sh 來解決!

Posted on  Nov 1, 2019  in  Docker  by  Amo Chen  ‐ 2 min read