まあ適当に書きました。久々にQiitaの自分の記事を読んでいて思い出した課題をこなすみたいな感じ。
昔書いた記事はこれ。
書いたスクリプトはこれ。
create_gitignore() { # argv length check if [ -z $1 ]; then echo 'Usage: git_ignore arg1 arg2 arg3 ...' return fi # overwrite check flag='y' if [ -e '.gitignore' ]; then printf 'Are you overwrite .gitignore ? [y/N]: ' read flag; fi # download .gitignore if [ $flag = 'y' ]; then s=$(echo $@ | tr ' ' ',') curl -f https://gitignore.io/api/$s -o .gitignore echo "create .ignore file for: ${s}" fi echo 'finish.' }
こういうことを考えてた。
https://gitignore.io/api/
をcurl
で叩いてその結果を.gitignore
に書き込む- ホームページで叩いてみた感じ、カンマ区切りで言語なり環境なりを入れれば複数のものが一気に取れるっぽい
- Shellに引数で言語名を渡す
- 存在してなさそうなやつはエラーにしたいので
curl
は-f
を指定 - 引数0個のときはすぐ終了するようにした
create_gitignore python pycharm
もcreate_ignore python,pycharm
も両方動くはず
- 存在してなさそうなやつはエラーにしたいので
- 実行したときに勝手に上書きされるのはちょっと、と思ったので、上書き確認をするようにする
echo -n
がうまく動作しないので(テストしてたときはshだったので、それが原因かも)、printf
に逃げる
久々にShellを触ると知らないオプションをいっぱい調べるので、結構学び合っていいなあと思う。
(なんかもっと柔軟性もたせてGoとかでラップしたものを書いても良かったかもしれないな、と書き終わってから思いました)