問題
例えば、~/myproject/docker-compose.yml
を基にコンテナを起動するShellスクリプトを書いたとします。
~/myproject/start
#!/bin/zsh
open -a Docker
sleep 3
docker-compose up -d
このスクリプトのシンボリックリンクをデスクトップに置きます。
chmod 755 ~/myproject/start
ln -s ~/myproject/start ~/Documents
このシンボリックリンクをUIからダブルクリック!!としても思う通りに動いてくれません。
no configuration file provided: not found
解決策
- どうにかして実体のパスに移動しましょう!
- 実体が実行されても差し支えないようにしましょう!
以上を満たすのに複雑な操作は必要ありません。
なぜなら、シンボリックリンク実行時にも$0
は実体のパスを指してくれるからです。
~/myproject/start
#!/bin/zsh
cd `dirname $0`
open -a Docker
sleep 3
docker-compose up -d
シンボリックリンク実行結果
[+] Building 0.0s (0/0) docker:desktop-linux
[+] Running 1/0
✔ Container myproject-php-1 Running 0.7s
少しでも多くの方の困る時間が5分でも短くなりますように。