あまり知られていないと思うんだけど、zsh には無名関数を作ってすぐに実行する機能がある。JavaScript で言うところの (function() { /* ... */ }()); と同じやつ。これを使うと一時的な変数を作ってグローバルな領域を汚さないように出来るので紹介する。 書き方 書き方は簡単で、普通の関数定義の関数名の部分を省略すればOK。zsh の関数定義はいくつか書き方があるので、無名関数の書き方もその分だけある。 具体的には以下の通り。
![zsh で無名関数を作る - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/3ad9aaf0ae4133e4631905d9a346fadc086f0edf/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9enNoJTIwJUUzJTgxJUE3JUU3JTg0JUExJUU1JTkwJThEJUU5JTk2JUEyJUU2JTk1JUIwJUUzJTgyJTkyJUU0JUJEJTlDJUUzJTgyJThCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz04ZDEwOTA4ZWJkNTU5MDUxMzNhZmVhZGNlZjhiNDEzMQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbW9sbGlmaWVyJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0xZjJiNmFhYjM1Y2QzNmVjNjg3OTI2ZThiZGQyMGQzNg%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3De0eaf82c4fc9d4cbf369c06f9d539963)
あまり知られていないと思うんだけど、zsh には無名関数を作ってすぐに実行する機能がある。JavaScript で言うところの (function() { /* ... */ }()); と同じやつ。これを使うと一時的な変数を作ってグローバルな領域を汚さないように出来るので紹介する。 書き方 書き方は簡単で、普通の関数定義の関数名の部分を省略すればOK。zsh の関数定義はいくつか書き方があるので、無名関数の書き方もその分だけある。 具体的には以下の通り。
jq というコマンドがある。JSON をいい感じに読みやすくしてくれるコマンドラインツールだ。 Web の API を呼び出してテストするときとかに便利。 でも --help をつけてもヘルプメッセージがしょぼい感じで、使い方がよく分からなかった。なので zsh 補完ファイルを書いた。これでさくさくオプション指定できるようになる。 zsh-users/zsh-completions (https://github.com/zsh-users/zsh-completions) に pull request を送ったのでそのうち取り込まれると思う。 自分でインストールして使う方法は以下。 補完ファイルをダウンロードする。 Gist に貼りつけた ので、そこから補完ファイルをダウンロードする。ファイル名は _jq にする。 _jq を適当な場所に配置する。 保存場所はどこでも良い。今回は $HO
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く