「bash 4.0」リリース、4年7カ月ぶりのメジャー・アップデート 69
ストーリー by otk
また少し便利になりましたよ 部門より
また少し便利になりましたよ 部門より
あるAnonymous Coward 曰く、
米国時間20日、bash 4.0がリリースされた。2004年7月以来の大幅なアップデートとなる今回のリリースでは、3.xリリースのバグ・フィックスに加え、「zshライクな」以下のような機能が加わった。
- autocd:ディレクトリ名を入力するだけでカレント・ディレクトリを変更
- globstar:サブディレクトリを再帰的に検索(グロブに「**」を使用する)
- dirspell:ディレクトリ名のスペルミスを修正
そのほかにも、標準出力「>>」と標準エラー出力 「2>&1」を結合したデータをファイルにアウトプットするリダイレクト演算子「&>>」の追加や、case構文中のコマンド区切り文字「;&」および「;;&」なども追加された。また、ラインエディット・ライブラリのGNU readlineも同時にアップデートされ、ver.6.0がリリースされたとのこと。(以上、マイコミジャーナルより)
本家でもストーリーが掲載されている。詳しくは新機能一覧をご参照のほど。
ヒロく~ん (スコア:2, おもしろおかしい)
kick and bash !
いつかキメるぜ稲妻buildォ~
$ make
make: command not found
Re: (スコア:0)
オッサンは昭和板へ
バレンタインネタ?
$ make -love -date:0214
じゃないから駄目ということですね、わかります。
#そういう問題じゃない
Re: (スコア:0)
JASRACには気をつけてくださいねw
リリース間隔 (スコア:2, 参考になる)
いつ以来のリリースなんだろう?と思って3.2のディストリビューションを眺めてみたら、2006年の10月だったようですね。メジャーバージョンだと3.0が2004年8月か。
学生の頃SLS上で使ってたのは1.xだったのが、4.xに上がってるなんて、基本的なソフトウェアにしてはずいぶん激しい感じがします。
News 多っ (スコア:2)
一つ一つの説明が terse でも量がこうあると結構大変。
# c の BASHPID は私が前から欲しかったサブシェルで本スクリプトではなく
# サブシェル自体の PID が入っている変数なのだろうか。。。?
# だとしたら歓迎。
お気に入りシェルの経歴 (スコア:1)
sh -> csh -> tcsh -> bash と流れてきた。まさに Bourne Again。
Open Souce なので、(Linuxと同様)ユーザーが良いと感じる方向に流れていくのは自然かも。
# オライリー本がv2対応の時に bash3が出て買うのをためらっていたら
# オライリー本がv3対応になって、そろそろと思ってた矢先に bash4が出た。
# のんびりしてたら、つまでたっても買えないなぁ…。
BSDユーザーですが… (スコア:0)
やっぱGPL絡み?
# ライセンスめんどくさ
Re:BSDユーザーですが… (スコア:2, おもしろおかしい)
なんでFreeBSDとNetBSDとOpenBSDは一緒にならないの?
ライセンスは一緒なのに。
Re:BSDユーザーですが… (スコア:1)
坊主。
いいか、男にはこだわりってもんが必要なんだ。逆にこだわりの一つもないようじゃ男とはいえない。
胸が大きいほうがいいとか、小さいほうがいいとか。
ツンがいいとかデレがいいとかヤンがいいとか。
それと一緒だよ。判るか? Linuxにはこの辺が足りねーんだよ。Windows にすらある、このこだわりが、な。
# 菅原文太の声でお願いします。
fjの教祖様
Re:BSDユーザーですが… (スコア:1, おもしろおかしい)
> ライセンスめんどくさ
たしかに。1台のパソコンにしかインストールしちゃいけないとか、
リバースエンジニアリングを禁じるとか、ネットで勝手に流しちゃいけないとか。
Re: (スコア:0)
一緒になって名前が変わってしまうと、決め撃ちしている部分なんかが
影響うけてしまうってデメリットも結構いやだなとか思ったり。
#もちろんシンボリックリンクとかで回避するのは可能だけど
同じくBSDユーザーですが… (スコア:0)
Linuxの人はbashでスクリプト書くことも多いんですかね。
*BSDの人でもたまにはいますが圧倒的にshです。
BSDの/bin/sh (スコア:2, おもしろおかしい)
「このシェルスクリプト動かねえよ、bash独自拡張機能なんか使いやがって。これだから犬厨は・・・」
「おじいちゃん、それbash独自じゃなくてPOSIX拡張機能でしょ」
Re:同じくBSDユーザーですが… (スコア:1, 興味深い)
BSD育ちで最近もっぱらcygwinな人ですが,以前はスクリプトをshで書いてたのが,最近はbashで書くようになりました.というのも,cygwinのパイプはめちゃめちゃ遅いので,外部コマンドを呼んで処理するよりも,できるだけbash自体に処理させた方が圧倒的に早いんですよ.(正確には「外部コマンドを呼ぶと圧倒的に遅い」だけで,bashが早いわけではないが)
#あ,perlとかまっとうなスクリプト言語を使え,という突っ込みは無しで.
Re:同じくBSDユーザーですが… (スコア:1, おもしろおかしい)
Perlとかマッドなスクリプト言語を使え
新機能が増えても (スコア:0)
また実装されなかったか… (スコア:0)
シェルスクリプトのオブジェクト指向とTk対応。
#以前、それを4月1日ネタでタレこんで没になったのでAC
Re:また実装されなかったか… (スコア:2, 参考になる)
そんな貴方に…BashOO [fc2.com]
Re:また実装されなかったか… (スコア:1, おもしろおかしい)
ヴァッシュダブルオーと読んだのは俺だけではないはずだorz
今北産業 (スコア:0)
bashの良さをたまにWindows NT系でバッチファイルを書く私に三行で説明してくださいませんでしょうか。
#と言ってもほかの人にCygwinなどを強制させるわけにもいかんしなあ
Re: (スコア:0)
つ[SFU]
Re:なに? bashって。 Bshell の事だよね! <言い切る (スコア:1, おもしろおかしい)
名の呼び方にこだわるならBshellとか微妙な言い方せんで
Bourne Shell と書いたらどうなのよと。
つーか、bashの正式名称がBourne Again Shellだと知って
こういうこと言い出すのかねこの人は。
#はいはい釣られました釣られましたよと
Re: (スコア:0)
>つーか、bashの正式名称がBourne Again Shellだと知ってこういうこと言い出すのかねこの人は。
釣りではなくて本当に bash = ベル研由来の sh だと思ってる奴が無視できない量存在していてですね・・・
Re: (スコア:0)
たぶん、というかほぼ間違いなく君の周りだけだろうから
気にしなくていいよ。
シェルスクリプトちょっとでもやればshとbashの差は誰でも意識することになる。
逆に言えばまっとうにシェルを使わない人にはBshell(?)がどーたらなんて
気にするわけもない。
Re: (スコア:0)
とか言い出すんだと思うので、その指摘は的外れなのでは?
でもって、もう一方でおっしゃられてる件についても、世の bashism
とか揶揄されるものの大半は確信犯的なものではなくて、sh と bash
の区別ができて無いことによるものだと思いますので、
> シェルスクリプトちょっとでもやればshとbashの差は誰でも意識することになる
というのは少々楽観的に過ぎるのではないでしょうか。
Re:なに? bashって。 Bshell の事だよね! <言い切る (スコア:2, 参考になる)
/bin/shって本物は触ったことないかも。。
そもそも/bin/shのソースって一般人が入手できるんだろうか。と思ったらあるみたいですね。
http://minnie.tuhs.org/UnixTree/V7/usr/src/cmd/sh/
Re:なに? bashって。 Bshell の事だよね! <言い切る (スコア:3, すばらしい洞察)
> 今時なら、/bin/shも/bin/bashも実体は同じだったりしませんか?
「今時なら」じゃなくって「Linuxなら」でしょ。
いや今時でも (スコア:1, 参考になる)
bashが/binじゃなくて/usr/local/binに入ってるレガシーシステムもまだありますよ
Re: (スコア:0)
スクリプトはshで書いて、その他のシェルはインタラクティブにだけ使うようにしたほうがよいと思う。
Re: (スコア:0)
でも、現実的にbashが使えない環境なんて滅多に無いんだし、あえて自分がそういう環境を使っているのでなければshに拘る意味は薄いかと。
スクリプトをperlやrubyやpythonで書くべきでないなんて言うのと同じ。
Re:なに? bashって。 Bshell の事だよね! <言い切る (スコア:2, すばらしい洞察)
って書いておいて、bashの拡張文法使うのは反則だと思います。
/bin/sh = bashなのはLinuxだけでしょ。
Re:なに? bashって。 Bshell の事だよね! <言い切る (スコア:1)
Re:なに? bashって。 Bshell の事だよね! <言い切る (スコア:1)
Re: (スコア:0)
Re: (スコア:0)
(’・ω・`)
Re:なに? bashって。 Bshell の事だよね! <言い切る (スコア:1, 参考になる)
>現実的にbashが使えない環境なんて滅多に無いんだし
それが結構あるんだよ。最小構成でインストールされたsolarisとか。なので、必要に迫られない限りはshでも動くスクリプト書くべきだとは思ってる。たとえば$()とか無理に使わなくても``で十分なので、基本的に``で・・・とか。
とは言っても、shだとfunction内でlocal宣言すら出来ないとか、機能面での欠落は気にはなるので、「bashが存在すると確信できるターゲット」向けに大規模なものを作る時だけは #!/bin/bashと明示した上でbash依存のスクリプトを書くのはアリかなと。#!/bin/shと宣言してshで動かないコードを書くのは最悪・・・。
ちがう [Re:なに? bashって。 Bshell の事だよね! <言い切る] (スコア:1, 参考になる)
% uname -mprs
Darwin 9.6.0 i386 i386
% which sh
/bin/sh
% sh --version
GNU bash, version 3.2.17(1)-release (i386-apple-darwin9.0)
Copyright (C) 2005 Free Software Foundation, Inc.
Re:なに? bashって。 Bshell の事だよね! <言い切る (スコア:1)
おっしゃるとおり、「一部のLinuxでは」の間違いですね。
しかも、自分のPC(ubuntu)でls -l /bin/shしたら、dashでした orz
Re: (スコア:0)
>名の呼び方にこだわるなら
ごめんね、、、私は別に、名前・名の呼び方 に拘ってはいないんだけど、誤解させてごめん。linuxの節操のなさに苦労してるもんで、つい愚痴になってしまいました。
core-shell として、仕様は固定しておいて、
Bsellの仕様は固定しておいて、
もしどうしても、必要があれば、拡張した他のshellを呼び出すってEx記述だけを許して、(Ex記述記述ってのは、拡張shellをロードして使うんじゃなくて、拡張コマンドとしてって意味。まあ確かに。それってshellの拡張?って感じではあるが、単に他sellのソースとクロスしてコンパ
Re: (スコア:0)
forkするのも自由。
多機能化して便利にもっていくのも自由。
新ツールとして拡張部を分けるのも自由。
増えすぎて使い難いのなら、減らせば良い。
使い分けるのも自由でしょ。
フリーソフトなんだから。
あなたの所はぜひそうすれば良いんですよ。
人の自由を阻害したいと思うのなら、自分で作ってソースを隠して売れば良い。
デファクトにもっていけばいい。それだけ。
Re: (スコア:0)
bsh がベル研で、csh が BSD、ksh が systemV、bash は GNU だと思ったんだけど。
そういう意味で BSD が云々と言う人が bash を嫌がるのは判り易くはありますよね。
bsh+csh で腐ってしまったものを bash 一本でどうにかしようと整理しているのだと
考えれば linux の方が節操はあるようにも考えられませんでしょうか。
かと思えば ash/dash に zsh だとか言い出すのが節操が無いというのは同意します。
Re: (スコア:0)
全然関係ないけど "Bourne Again" って "born again"(生まれ変わり)にかけてあるのかな。
Re:なに? bashって。 Bshell の事だよね! <言い切る (スコア:1, おもしろおかしい)
Shell script 原理主義者 (スコア:0)
ash、csh、ksh、bash、zsh、みんな余計な機能が多すぎだと思う。
# インタラクティブShellの話は別次元として…
Re: (スコア:0)
ash / dash の方が bsh よりも軽いとも言えなくないですか?
csh まで並べてるってことはそういう意味ではないのかなあ。
重いとか軽いとか、サクサクとかモッサリとか…
Re: (スコア:0)
ashが重いって…どんだけ古いPC使ってるんですか
Re: (スコア:0)
Re: (スコア:0)
そして伝説は続く
The Bourne Supremacy (2.0)
The Bourne Ultimatum (3.0)
Die Hard (4.0)
#違う!(ホンモノは別の人が続けて書いてます)
ALGOL 屋だったので、C で
#define STRING char*
#define IF if(
#define THEN ){
とかやって後世の人間から総スカンを食ったのも彼ですな
Re:やっときたか、|& (スコア:1)
そうだよね、と一瞬同意しかけたんだけど…
zshでいいんじゃない?
# zsh使う人から見たbashの魅力って何だろう?
Re:たとえばプログラマブル補完機能 (スコア:2)
そういうときは
$ complete -r
を実行しましょう。