パスワードを忘れた? アカウント作成
7835 story

Zsh 4.2.0 リリース 51

ストーリー by Acanthopanax
究極 部門より

CTE 曰く、 "なんでもアリの高機能シェルである、Zsh (Z shell)のひさびさの安定版リリース、4.2.0が、2004/3/19にリリースされている(新機能) 。Solaris (8以降)にも、Mac OS Xにも標準でついてくるし、web上の日本語リソースを見ても、最近は愛用者も増えているように思える。高機能すぎて、設定や使いこなしの敷居が高いことは否めないが、stableな版が出たところで本の一冊でも出版されれば更に人気が出てくるだろう。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 軟弱者 (スコア:4, 参考になる)

    by TSK_BG3 (17383) on 2004年03月28日 13時16分 (#522060)
    のかつてtcsh ユーザーだったの私の場合、zsh の最大の利点は、Bourne shell script を書けるようになったことである。あっ、csh script で十分では?という疑問を持った人は ここ [utsunomiya-u.ac.jp] を読んでね。

    zsh が複数行にわたるコマンドラインヒストリの編集が可能なことと、広瀬雄二氏のサイトの ここ [gentei.org] に Bourne shell script の書き方についての簡潔なガイドがあったこと、の2つにより、sh script の構文(および関連するコマンドの使い方)をいっきに理解できた。広瀬氏が言うとおり perl script 書くことが相当減った。

    また、csh 系から乗り換えの場合~/.cshrc , ~/.login の移植が鬱だったのだが、前述のサイトに日本語で書かれた簡潔な乗り換えガイドが用意されてたおかげでサクッと乗り換えることができた。今は変換コマンドもあるようだが、結局自分で理解する必要もあるだろうし。

    でもやっぱり Bourne shell script 使わずに済むように plan9 の rc が普及して欲しいなぁ。

    • rc (のUnix用クローン) を9termの中で使ってみたのですが、コマンドライン編集すると画面が崩れるのが嫌で止めてしまいました。

      まあ、そもそもコマンドライン編集そのものがPlan9哲学に反するような気もします :-)

      # Zshは4のリリース頃から愛用中。
      親コメント
  • by prajna (18168) on 2004年03月28日 16時58分 (#522088)
    zshの特徴のひとつとして、コマンドの引数補完があるが、この機能はemacs内
    のshellでは使えなかったり、シェルスクリプトを書く時のコマンド記述の手
    助けとしても活用はできない。

    また、zshのコマンド補完文法も極めて難解である。(たとえば、
    /usr/share/zsh/4.0.x/functions/_apt などを読んで、楽に理解したり、また
    は似たようなものを書ける人はどれくらいいるだろうか?。)

    シェルというのは、CLIの総本山であり、zshの補完機能をふんだんに活用した
    コマンドライン入力インターフェースは、GUIの必要性を疑わせる程、よくで
    きている。この補完機能スクリプトの記述方法が極めて難解で敷居が高く、
    また活用できる場面が限られていることは非常に残念に思う。

    コマンドライン入力時における補完機能を何とか、一般化できないものだろうか?
     ・誰でも補完機能を記述できる「わかりやすい」文法、そして、
     ・コマンド入力時、編集時を問わず、いつでも呼び出して活用できる可般性
    これらが実現できたとき、CLIとシェルはまた新しい一歩を踏み出すのじゃないかと思う。

    #「わかりやすい」をどう定義するかは置いておいて。
  • 前々から雑誌でのzshの紹介記事なんかを見てきて、「あぁ、zshにしようかな。」とか思っていたのだけれど、なかなか乗り換えられずにいる自分。

    乗り換えられずにいるのは敷居の高さのせいではなく、どこでもzshが使えるのかという不安のせい。多分、一度zshにしてしまえば、俺はzshがなければ生きていけない、とかそういう感じになってしまうんだろうけど、そうなったときにいざ「bashを使え!」と言われたときに理性が保てるかどうか。
    なんでいちいちcdを打たなければいけないんじゃ!とかいってキーボードを投げつけたりしちゃいそうな自分が恐いです。
    というわけで、まだ、惰性的にbashを使ってます。

    Mac OS Xとかではzshが標準でついてくるのはいいのですが、Linuxディストリビューションでもだいたい標準でzshはついてくるものなのでしょうか?
    --
    // Give me chocolates!
    • by kaicho- (13274) on 2004年03月28日 10時58分 (#522035)
      zsh FAQ に「root になれないが zsh を login shell にできるか [dengaku.org]」という項目があります。
      私も、root になれない環境ではこれを使っています。
      親コメント
      • by Anonymous Coward on 2004年03月28日 16時23分 (#522083)
        そう、自分で make して実行ファイルだけ ~/bin にコピーで OK だから、楽チン。
        結構、大抵の環境で make できるし。
        # もしかしたらスタティックリンクのオプションがいるかも
        親コメント
      • by tesuri (17500) on 2004年03月28日 19時10分 (#522121)
        私も学生のときは vim と、zsh を ~/bin 以下に置いてました。
        ここしばらくは、root になれない環境で作業することが無いで、この方法は使ってませんが。
        親コメント
      • bluedwarf さんのいっているのは、「どこにでも zsh がインストールされているとは限らない」ということではないでしょうか。
        ほかの高機能シェル もそうだとおもいますが、zsh は特に dotfiles で挙動がかなり変化するので、わたしは、他のマシンでは、素の /bin/sh でも OK な体にしています。history や fc さえも使えずイライラすることもありますが。
        自分の dotfiles が使える環境では、至って快適な環境を提供してもらっています。
        親コメント
    • by tix (7637) on 2004年03月28日 13時17分 (#522061) ホームページ
      乗り換えられずにいるのは敷居の高さのせいではなく、どこでもzshが使えるのかという不安のせい。
      ぼくも zsh 依存になると他の環境で面倒だと思うのでログインシェルは tcsh ですが、 zsh がインストールされている場所では zsh の機能を使いたいときだけ zsh を起動して使っています。
      といっても、 zsh の様々な奥深い機能を知るわけでもなく。

      ぼくが知っている zsh の機能というのはただ一つ、<(command) という形式のパイプです。
      二つのファイル a.txt と b.txt に各々 convert.pl を適用した結果の差分を見たいとき、通常だと
      ./convert.pl a.txt > a2.txt
      ./convert.pl b.txt > b2.txt
      diff -u a2.txt b2.txt
      のようにすると思うのですが、 zsh だと
      diff -u <(./convert.pl a.txt) <(./convert.pl b.txt)
      でできて、少し簡潔です。

      ということで、今 zsh を使っていなくてそこそこ満足していて、ログインシェルを zsh にするのも嫌な人には、zsh の高度な機能を使いたいときだけ zsh を起動するというのがお勧めです。
      --
      鵜呑みにしてみる?
      親コメント
    • by Mr. Hankey (5779) on 2004年03月29日 1時14分 (#522242)
      zshの便利な機能の一例。
      思考が固まった時によくやる無駄なlsが無駄に何度もヒストリに記録されません。
      あのファイルどこだっけかなぁ?と非効率にもTAB補完で探し回る時、なるべく同じ領域に補完候補を表示しようとするので、スクロールアウトを最小限にしてくれます。
      そうです、zshは人間の無駄な操作にやさしいのです!
      親コメント
    • by Anonymous Coward on 2004年03月28日 13時24分 (#522063)
      zshの便利なところは全く使っていませんが、Cygwinでターミナル幅を越えた行編集をしても表示がおかしくならないので使っています。bashのつもりで使っても違和感ありません。
      なれちゃって戻れなくなった場合のことを考えるのは、あまり意味のないことだと思います。あるものは使わないと。じっさいbashが無いときのことを考えてashを使うとかはしていないんでしょ。
      親コメント
    • by Anonymous Coward on 2004年03月28日 13時33分 (#522066)
      出先でlinuxをつつかされてる時zshは有ったんだが、マイ.zshrcが手元に無かったので補完とかの挙動が違いすぎて理性が保てなくなった罠。

      #bash とzsh(標準)の違いより、zshの設定による挙動の違いの方が大きいかも。
      親コメント
    • by Anonymous Coward on 2004年03月28日 18時41分 (#522113)
      あなたは、Rubyの書きやすさや便利さは認めつつ普段はPerlで仕事するよーな人ですね?
      親コメント
    • 以前はbashは少数派。 Linuxで普通になる前からbashを使っていたときと同じです。 仕事の最初にbash、cvs、emacs をインストールしてました。 emacsはダンプさせる部分を書かなくてはならないこともあり、 ちょっと手がかかりました。
  • zsh本欲しい (スコア:3, すばらしい洞察)

    by knb (11918) on 2004年03月28日 17時13分 (#522092) 日記
    zshのまとまった日本語の情報が少な過ぎます。

    256倍本希望!
    • by Anonymous Coward
      同意しておきます。

      UNIX USER の連載がありましたが、
      当時読んでなくて、今となっては本が見つからないんですよね。

      英文の man を読んで何とか頑張ろうと思ったこともありましたが、
      わけがわからなくて挫折してしまいました。

      # デフォルトで提供される補完と高機能 glob、さらに =(...) とかだけでも
      # 十分役に立ってはいるんですが。
  • by taka2 (14791) on 2004年03月28日 17時54分 (#522101) ホームページ 日記
    ところで、zshってどう発音すればいいのでしょうか?
    「ぜっどしぇる」「じーしぇる」「ぜっしゅ」「じーしゅ」?

    私はなんとなく「ぜっしゅ」と呼んでしまうのですが…
    ちなみに、ほかのシェルは

    sh: しぇる、ぼーんしぇる、しゅ
    csh: しーしぇる、しーしゅ
    bash: ばっしゅ
    tcsh: てぃーしーしぇる
    ash: あっしゅ

    てな感じで呼んでます
    • by tix (7637) on 2004年03月29日 1時27分 (#522248) ホームページ
      bash (バッシュ)からの類推で何となく「ザッシュ」と読んでいたのですが、あるとき知人に「雑種って言いかたは酷くないか」と言われて以来「ズィーシェル」とか「ゼットシェル」になりました。

      でも、 Bourne シェル系と C シェル系の両方から機能を取り込んでいるから「雑種」もいいのではないかと思ったりも :)

      // ちなみに「ゼッが正しい」というのは知っているけど直らないので突っ込み勘弁
      --
      鵜呑みにしてみる?
      親コメント
    • ゼータシェル。
      ……嘘々、「ぜっしゅ」です。

      # cshは「しっしゅ」、tcshは「てぃっしゅ」
      # これはマジ
      親コメント
    • 「じーしぇる」って心の中で呼んでます。
      親コメント
    • by jmk (11245) on 2004年03月28日 18時44分 (#522115)
      ぜっとしゅ。
      他人に向かって言うときは「ぜっとしぇる」ですが。

      それはそれとして bash の反証 [2ch.net]。場所が場所だけにネタのような気もするけど……。
      親コメント
    • sh: えすえっち、ぼーんしぇる、しぇる

      zsh: ぜっとしぇる
      csh: しーしぇる
      tcsh: てぃーしーしぇる
      ksh: けーしぇる

      bash: ばっしゅ
      ash: あっしゅ

      と呼んでいます。……どうして「.+しぇる」と「.っしゅ」が混ざるんでしょうねえ。
      #しかしえすえっちはねーだろ>おれ
      親コメント
    • sh: しぇる、びーしぇる(正味でbshとは違うが、cshで無いshということで)
      csh: しーしぇる
      ksh: けーしぇる
      tcsh: てぃーしぇる
      zsh: ぜっしぇる
      ssh: えすしぇる えすえすえいち
      rsh: あーるしぇる、りもーとしぇる、あーるえすえいち

      bash: ばっしゅ
      ash: あっしゅ

      shを「しゅ」と発音するときと「しぇる」と発音するときと「えすえいち」というときがあるっす。
      「ぜっとしぇる」とはいいにくいので「ぜっしぇる」です。

      某働き先では、kshとtcshの(どちらを標準シェルにするかの)戦いが起こっていたが意味が無いですか。そうですか。
      #私は「しぇる」よりも「シエル」様が・・・
      --
      --- cのエラーメッセージが日本語だと非常に困るのでID 引数4って言われてもこまるよ・・・。
      親コメント
    • > bash: ばっしゅ
      きっとこれだけは世界共通なんだろうと思ったのだが、実際どうなのだろうか?

      反証お願いします。
      • by Anonymous Coward on 2004年03月28日 20時09分 (#522133)
        ここを知らんひとはおらんとおもうけど、

        bash (GNU) (UNIXコマンド) [ばっしゅ] [びー・えー・しぇる]
                          "Bourne Again SHell" の略。 "sh" を [しぇ] と読む人も "bash" だけは [ばっしゅ] と読む。

        http://www.cjn.or.jp/docs/dic/unix-term-dic.html
        親コメント
    • sh: しぇる、びんしぇる
      csh: しーしぇる
      ksh: けーしぇる
      bash: びーえーしぇる
      tcsh: てぃーしーしぇる
      ash: えーしぇる
      zsh: ぜっとしぇる
      ssh: えすえすえいち、せきゅあしぇる
      rsh: りもーとしぇる、あーるしぇる、あーるえすえいち
      wsh(tcl/tkの): うぃんしぇる
      WSH: うぃんどうずすくりぷてぃんぐほすと、だぶるえす
    • sh: しぇる
      csh: しーしぇる
      bash: ばっしゅ
      tcsh: てぃーしーしぇる
      ash: あっしゅ
      zsh: ぜっとしぇる or じーしぇる
  • 新機能 (スコア:3, 興味深い)

    by butaminparlour (17948) on 2004年03月28日 22時58分 (#522200)
    4.1.1 にもあったみたいだけど、
    新機能のところにある、alias の -s オプションはおもしろい。

    % alias -s Suffix=command
      すると、
    % foo.Suffix
      で、
    % command foo.Suffix
      に置換されるのね。

    ほかのコマンドで使いたいときは、普通に使えばよい、と。
  • by Gururi (14221) on 2004年03月28日 12時25分 (#522044) ホームページ 日記
    早速でもないけどMac OS X(10.3.3)にインストールしました。
    毎度の事ながら/binに入れるので、
    ./configure --prefix=/usr --exec-prefix=/. && make && sudo make install
    で。今んとこ問題なく動いてい(る様に見え)ます。
    • configureのオプションが問題有りでした。
      ./configure --prefix=/usr --bindir=/binが正解ですね。--exec-prefix=/.だと、/libが出来ちゃう………
      既にインストールしちゃった方は
      ・/bin/zshと/bin/zsh-4.2.0をどっかに移動して、sudo ln /bin/zsh-4.1.1 /bin/zsh
      ・zshのソースディレクトリで./configure --prefix=/usr --bindir=/bin && make && sudo make install
      ・/libに/lib/zshだけなのを確認して/libを削除
      で多分いいはず………です。すみませんでした。
      親コメント
    • プレゼントですよ。
      今しか有効(おそらく数時間後には消滅してる)ではないですよ。
      18禁ですよ。エロがきらいな人は実行しないでくださいよ。
      たぶんzshじゃないとうまくいきませんよ。

      wget http://planet.time.net.my/StadiumBukitJalil/dbjhli/feli03a0{01..45}.jpg
      wget http://planet.time.net.my/CentralMarket/dbleyi/feli03a0{46..64}.jpg
      wget http://planet.time.net.my/TiomanIsland/tinylx5/1147{001..040}.jpg
      wget http://planet.time.net.my/BukitBintang/tinzcdu/1147{041..080}.jpg
      wget http://planet.time.net.my/
  • by naruse (12596) on 2004年03月29日 0時46分 (#522234) ホームページ 日記
    SFUで使えるようになっていますね。
    少しエラーがでますが、そこだけコメントアウトすれば使えます。
    でも、WindowsショートカットからいきなりZshを起動するのには少々試行錯誤中。。。

    ちなみにMSYS+MinGWではわたしのスキルでは無理そうでした。
  • by znc (2768) on 2004年03月29日 7時15分 (#522289)
    zshのマルチバイト対応って今はどうなっていますか?

    # tcshももうすぐ6.13.0がでそうメポ
    # たまにはtcshオリジナルカタログもチェックしてほしいメポ
    # メポっているけどあえてID

    ## そういえば,zshの旧バージョン用のマルチバイト対応パッチを
    ## 見た気がしますが,なんかすごく驚いた気が…
    --
    『今日の屈辱に耐え明日の為に生きるのが男だ』
    宇宙戦艦 ヤマト 艦長 沖田十三氏談
    2006/06/23 JPN 1 - 4 BRA
  • by Anonymous Coward on 2004年03月29日 0時15分 (#522222)
    alwayslastprompt
    alwaystoend
    autocd
    autolist
    automenu
    autonamedirs
    autoparamkeys
    autopushd
    autoremoveslash
    autoresume
    braceccl
    cdablevars
    completeinword
    correct
    extendedglob
    histignoredups
    histignorespace
    histnostore
    ignoreeof
    listtypes
    longlistjobs
    noflowcontrol
    numericglobsort
    pathdirs
    pushdignoredups
    pushdminus
    pushdsilent
    pushdtohome
    sunkeyboardhack

    今はUNIX自体あまり使わなくなってしまったのでZshも全く使っていませんが、また自分が自由に管理できるマシンを持ったら迷わず入れることでしょう。
    Zshで最も気に入っていたのは、標準でTABにglob expansionとcommand completionの組み合わせが割り当てられていたことかな。
    glob expansionはextendedglobと組み合わせると強力だったと今も思います、特にrmとかする時は。

    # 10年ぐらい前はcshjunkieloopsも入ってたな、確か。
    • by mishima (737) on 2004年03月29日 12時13分 (#522395) ホームページ 日記
      bindkey "^[[A" history-beginning-search-backward
      bindkey "^[[B" history-beginning-search-forward

      カーソルキー上下で、ヒストリを検索できるようになる。

      昔、研究室の先生にデフォルト設定として突っ込まれたオプションで、
      最初は使いづらかったんだけど、3 日もするとすげぇ使いやすい
      ことに気が付いた。例えば次のようなとき:

          % vi /long/long/path/name/file

      (別の作業をする)
      「えーと、さっき vi で編集してたファイルは…」

          % vi /[カーソルキー上]
          % vi /long/long/path/name/file (補完される。)

      たいてい、作業中はカレントディレクトリからの相対パスを
      使用するほうが多いので、/ だけからの補完でも有効に使える。

      #実は最初にこのオプション(と同等のもの)を突っ込まれたのは、
      #tcsh のころだったけど…
      --
      # mishimaは本田透先生を熱烈に応援しています
      親コメント
typodupeerror

ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家

読み込み中...