Skip to content
Tag

Zsh

Articles and publications tagged Zsh across the Atmosphere.

17articles7publications
ばうあーろぐ
ばうあーろぐ
Apr 19, 2020
シェルで alias を設定するときは abbr の方が良い、という思想を学んだ話
つい最近、長らく使っていた fish から、再び zsh への改宗を果たしました。 Bye bye, fish! 🐟 こんな感じの遍歴です。 bash tcsh zsh fish zsh <= いまここ 前半の方(bash とか tcsh とか)はそもそもコマンド覚えたりするので精一杯だったんですけど、 後半になるに連れて(zsh とか fish とか)設計思想に触れて考えたりすることも増えてきて、 fish は不満はあれども、学びも多かった ので、その学びをこちらにメモしておければなと思いました。 fish の良いなと思ったところ ちなみに fish というのは fish shell のことです。 fish shell A smart and user-friendly command line shell fishshell.com 特に使っていて、魚を感じるコンテキストはなかったので、単に後ろに sh がついてる単語を探しただけかもしれませんw 一部でそれなりに使われてる、といった温度感でしょうか? (たまに使ってる人に会う、くらい・・・) 僕が fish 良いなと思ったところ は以下あたりです。 alias よりも abbr (abbreviation) 、別名よりも略語を重視する(後述) auto completion 、何も設定してなくても自動補完される、 設定頑張らなくていい Web から設定をいじることができる、 localhost が立ち上がる vi モードが分かりやすい (fish から zsh への改宗を果たしたって書いたそばから、良いところをまとめるのもどうかと思いますがw)
zshfish
ばうあーろぐ
ばうあーろぐ
Jan 30, 2013
コマンドラインでcdとかしたら勝手にlsするシェルスクリプト
ちょっと書いてみました! # 移動したらすぐls -lah # ただしファイルなどが20より多かった場合は # lsで簡易表示 function chpwd() { if [ 20 -gt `ls -1 | wc -l` ]; then ls -lah else ls fi } zsh だと、chpwd という関数を定義してやるだけで、移動したときに動作する関数ができちゃうらしいです。 普通に ls とだけ入れておけば、移動したらすぐに一覧表示してくれたりするのですが、僕は ls -lah として、詳細も表示してました。 ただ落とし穴が・・・。 これでしばらく使ってたら、ファイル数が1000以上あるディレクトリを自動的に ls -lah してしまって、しかもPCが激重な状態だったので、しばらくずらずらと表示する事態に・・・。 これはいかん!と思って、ちょっと考えました。 testコマンド この if の後にある [ と ] ですが、シェルスクリプトでは test コマンドに相当します。 man test とかで詳しく載ってます。 ※補足 man [ でも載ってました。知らなかった・・・。 これを使うと、数式の計算結果が真か偽かで 0 か 1 を返すことができ、その後の処理を if 文で場合分け出来ちゃったりするので、20よりファイル数(ディレクトリなど含む)が多いかどうかで判定してみました。 if [ 20 -gt `ls -1 | wc -l` ]; then また、ls -1 | wc -l は、ls を1行単位で出力させつつ、それを後の入力に渡して(パイプ処理)、その行数を計ってます。
ZshShellScript

You've reached the end.