[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 05/09 17:42 / Filesize : 37 KB / Number-of Response : 182
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【tc厨が】bash3.0登場!!【嫉妬する】



1 名前:1 [04/09/21 16:57:01]
ついに出たぞ、おマイら。俺はついさっきコンパイルしたばかりだ。
まだしっかりドキュメントを読んでないのでその破壊力は未知数
だが

$ echo {1 .. 5}
1 2 3 4 5
つうのは気に入ったぞ。


133 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/21(火) 08:23:35 ]
いや、bashの場合は、bashコマンド1個のバイナリ単独で動くから、
自分の$HOMEあたりにソース展開して、普通に
./configure; make
したあと、bashファイルだけ、$HOME/bin あたりに手動コピーして使えばいい。
別に --prefixの指定は要らない。

134 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/21(火) 13:16:37 ]
>>133
メッセージカタログ使う場合は置き場所に困るよそれじゃ。

135 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/21(火) 13:24:50 ]
>>134
メッセージカタログなんて使わないってww

136 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/21(火) 13:26:51 ]
つーか、bashの場合、メッセージカタログ自体ねーよ。
>>133 で、「1個のバイナリ単独で動く」って言ってるだろ。

137 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/21(火) 13:29:44 ]
メッセージカタログが存在するのは糞tcsh。
bashには存在しない。

138 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/21(火) 20:39:40 ]
>>131(>>121)
> なるほど。homeでのコンパイルは管理者権限いらないんですか?

>>125に「学校のLinuxは…」という発言があったので、Linux上でコンパイルする
ときの話ですよね。多くの学生が使う演習室環境とか、そういうのかな?
そのLinuxシステムでは、>>131だけでなく、多くのユーザがいるかと思います。
# たとえ>>131専用のマシンで動くLinuxシステムであっても、"root"と呼ばれる
# 管理者用ユーザアカウントが存在するはずです。
で、その(一般)ユーザ自身のためのディレクトリってものがあるはずです、それが
ホームディレクトリ。そのディレクトリの中は、そのユーザ自身が好きに使える
(ファイルの作成/編集/削除が自由に行える)。

ビルド時は、
 ・configureスクリプト実行時にMakefileが生成される
 ・コンパイル時にオブジェクトファイル(.oファイル)が生成される
 ・実行ファイルbashが生成される
といった変化があるわけですが、これら生成されるファイルがホームディレクトリ
の中のどこかであれば、
  root権限なくてもビルド(コンパイル)できます

>>132が言っていることはそういうこと。ただし、>>132の、--prefixの指定は
間違っているな。それだと、実行ファイルbashは $HOME/bin/bin/ にインストール
されることになるから。
 % ./configure --prefix="${HOME}/bash"
 % make
 % make install
こう実行すれば、${HOME}/bash/以下に、実行ファイルやマニュアルなどが入る。

139 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/21(火) 20:40:57 ]
>メッセージカタログ
tcshに存在する「メッセージカタログ」は独自のものだけど、それと同等のものが
bashにも存在したりしないか?ロシアの環境ではメッセージがロシア語になるとか、
そういうの。
bashでは、gettextを利用してこの機能を実現してると思うんだけど。

140 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/21(火) 21:20:47 ]
>>139
bashの場合、libcにある汎用エラーメッセジについては *.moを読みに行くが、
bash自体の bash.moは存在しないね。
だから、bash単独で動作させて桶。

LC_MESSAGES=ja_JP.eucJPとかなら、libc側のメッセージカタログはOS側にあるので、
「そのようなファイルやディレクトリはありません」みたいなメッセージは出るよ。

それに、仮にbash自身の bash.moが存在したとしても、
それを $HOME/locale/ja/LC_MESSAGES/bash.mo みたいな埋め込みPATHで
読みに来られたら、それはそれでいやだぞ。

bashの場合は必要ないが、bash以外のソフトの場合、
可能ならば ./configure --disable-nls して、メッセージカタログを
外してしまうのが吉。

141 名前:121 [2006/11/23(木) 14:55:34 ]
>>138
どうも詳しい説明をありがとうございました。
実際にやってみましたので報告します。

まず、Linuxについてです。
最新のbash 3.2のソースを取ってきて、パッチも5まであてて
3.2.5の構成に成功しました。
ここで>>121のバグが再現されるかをテストしてみたら、再現されませんでした(正常にふるまう)。

次に、Cygwinについてです。
同様のソースとパッチで3.2.5を構成しようと試みましたが、なにやらエラーが起きました。
lib/glob/glob.cの484行目のREAL_DIR_ENTRY (dp)が原因のようで、これが構造体に置き換わっているのですが、
その置き換わったものが指しているメンバが存在しないようです。この部分を1または0にすると構成に成功しました。
しかし、どちらの場合もバグは再現されてしまいました。

以上のことを踏まえまして、
1.glob.cが今回のバグに関係のあるファイルの場合
     このファイルが原因
2.glob.cが今回のバグに関係のないファイルの場合
     Cygwinが原因
という結論を得ました。

どなたか、glob.cが何を司ってるファイルかわかる方はいらっしゃいますでしょうか?
また、Linuxでは問題ないのに、Cygwinでは問題が発生するというメカニズムの何らかの可能性をご存知の方はいらっしゃいますでしょうか?



142 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/23(木) 16:48:22 ]
>>141
OpenBSD4.0(-stable)上のBash(3.1.17)では再現せず。
ソース見てないけど、ファイル名的にはグロビング関係なのかな。
そこまでやる気力があるなら自分でfixしちゃえばいいのに・・・。

143 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/26(日) 01:21:03 ]
バグといえばこのバグも3.1.17では直ってないな。
d.hatena.ne.jp/soleil/20030829#p4

144 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/26(日) 13:15:18 ]
3.2.*に移行しろってことかね?

145 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/30(木) 03:50:54 ]
bashの最新バージョンの、Linux(FedoraCore6)用RPMって出てたっけ?

146 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/01(金) 19:28:41 ]
>>145
野良RPMは知らないけどFC6のデフォルトのリポジトリでは無いと思う。
漏れもFC6入ってるけど、3.1.6が今のところ最新の模様。

147 名前:145 mailto:sage [2006/12/04(月) 03:56:57 ]
>>146
なるほど、FC6公式の(?)パッケージとしては3.1止まりなわけですね。
# 細かい話ですが、こちらでもインストールしているFC6では
#  % rpm -qa | grep 'bash'
#  bash-3.1-16.1
#  %
# となりました。3.1.6ではなくて3.1-16かな?

ってことで、最新バージョンを使いたければ、ソースコードから自分でビルドして
rpmbuildとかで自分でパッケージ作ってインストールすることになるのかな?

(Linuxは使い始めてからまだ日が浅くてよく分かってなかったりしますが。。)

148 名前:146 mailto:sage [2006/12/04(月) 04:13:38 ]
>>147
ごめん、typoだった。仰る通り3.1.16だと思う。
(gnuの公式サイトでは17までpatchが出てるみたいだけど)

最新版を使いたければ、
ftp.gnu.org/gnu/bash/bash-3.2.tar.gz
ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-00{1..5}
を落としてきて普通にコンパイルすればOK。
(現時点での最新版は3.2.5だと思う)

あと、RPMについてはよくわからんので、L犬板あたりでよろ。
ちなみに漏れは普通にconfigure && make && make installで
/usr/local以下に入れちゃってる。
昔からの習慣のせいなのか、これが一番落ち着くんだよね。
あと、割合configureオプション多いから吟味した方がいいよ。

149 名前:145=147 mailto:sage [2006/12/04(月) 13:06:58 ]
>>148(=>>146)
即レス感謝。
FreeBSDは結構使っていてソフトウェアは全部ソースコードからビルドしてるけど、
Linux系OS(FC6とか)でもやっぱりそうした方がいいのかなぁ。

*** 以下、bashに限らない話で、脱線気味

> 昔からの習慣のせいなのか、これが一番落ち着くんだよね。
確かにそれはある :)
んでも、configureスクリプトに渡すオプションなど、インストール方法を覚えて
おくのって難しいんだよね(つーか不可能)
インストールメモを作って保管してるけど、結構大変。その点、RPMは
 ・どのファイル(/bin/bash,/usr/share/man/man1/bash.1.gzとか)がブチ込
  まれたか(% rpm -ql bash-3.1-16.1)
 ・いつインストールしたか等(% rpm -qi bash-3.1-16.1)
といった情報も保管されているので、その点は便利かも。

> あと、割合configureオプション多いから吟味した方がいいよ。
これも、ソースコードからビルドする人の特権ですな。bashのソースコードで使え
るオプションを全部把握するのは難しそうだけど、まぁ調べてみますです。

150 名前:148 mailto:sage [2006/12/04(月) 16:21:00 ]
> FreeBSDは結構使っていてソフトウェアは全部ソースコードからビルドしてるけど、
> Linux系OS(FC6とか)でもやっぱりそうした方がいいのかなぁ。
ごめん、これについては何とも言えない。
うっかりしたこと言うと宗教戦争になりそうだ(w
個人的には、よく使うソフトはRPMは無視して
自分でソースからビルドしちゃってるなぁ。
cronを回して、差分パッチが出たら即座にver.upみたいな感じで。

##以下はネタ
> どのファイルがブチ込まれたか
make install | tee bash.log

> いつインストールしたか
ls -l bash.log

151 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/04(月) 21:58:11 ]
autoconfがらみのソフトウェア(たいていの場合はそう)の場合、
% make (-n) install
の表示って複雑すぎて一見何をしているのかが分かりずらいんですよね。(丹念に
読めば理解できなくもないが…)

> > いつインストールしたか
> ls -l bash.log
それもいいけど、script(1)で記録してたのなら、最初と最後の1行に時刻が記録
されてるだろうから、それを見るという方法もありますな。

まぁ、スレ違い気味なんでこの辺にしときましょうか

> cronを回して、差分パッチが出たら即座にver.upみたいな感じで。
激しいっすね。さすが



152 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/05(火) 08:16:01 ]
checkinstallというソフトを使うのもいいよ。open関係をhookして
どこに新しいファイルがインストールされたか記録できる。


153 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/05(火) 09:41:04 ]
そこでslashpackageですよ:-)

154 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/10(水) 01:24:40 ]
bash3 になってから zsh みたいに command history に command を実行した
日時も記録する機能が加わっていたみたい、知らんかった。


155 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 02:07:13 ]
bash32-010が出たね

156 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/17(火) 01:45:27 ]
いつのまにかbash32-015まで出てたね・・・

157 名前:名無しさん@お腹いっぱい。 mailto:hage [2007/06/10(日) 10:24:27 ]
bash 3.2 導入個人的記念あげ

158 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/23(土) 16:49:07 ]
bash4が出たね

159 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/12(木) 22:29:43 ]
出てない

160 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/22(水) 11:04:43 ]
#!/bin/sh -x

cmd
cmd

#ここからこのシェルのstderrの出力をファイルにリダイレクトできますか?

cmd
cmd


161 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/22(水) 11:17:06 ]
exec 2> file




162 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/22(水) 11:29:12 ]
>>161
うおおおおおおおおおおおおおおおおお
知らなかった・・・
ありがとうございます。

163 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/22(水) 12:00:13 ]
read -e のreadlineの処理で、
この入力履歴を独自のヒストリーファイルに保存することってできますか?

164 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/02(日) 14:34:02 ]
bash32-025
readline52-007

165 名前:名無しさん@お腹いっぱい。 [2007/09/08(土) 22:38:01 ]
今頃になってC-rの存在に気がついてウンコちびった

166 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/11(火) 13:26:08 ]
>>165
俺も昨日、知ってびっくりした。マニュアルやドキュメントはまじめに読まないといかんね

167 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/11(火) 13:44:32 ]
ついでにヒストリー数を10000くらいに増やしておくと余計便利。

168 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/17(月) 03:07:53 ]
$ echo $'a\nb\tc'
a
b c

$ x=a
$ echo $x
a
$ x+=b
$ echo $x
ab

bash3 ってこんな事もできるんだな。

169 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/17(月) 06:53:42 ]
bashの特徴を一言で言ってくれ

170 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/17(月) 07:41:09 ]
ログインシェルとして使えてBシェル互換。

171 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/17(月) 10:40:12 ]
Bシェルもどき



172 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/18(火) 13:55:00 ]
sh + tcsh - csh


173 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/18(火) 17:12:37 ]
= tsh


174 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/18(火) 17:14:09 ]
bashの方が、tcshよりも先に登場したので、その説明には無理がある。

175 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/18(火) 17:25:43 ]
>>174
bash - sh = tcsh - csh
これでどうだ。

追加機能はファイル名補完機能とか、TABでの補完、
ヒストリの再利用、コマンドライン編集あたりか?

176 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/24(土) 02:12:55 ]
> < * " ' ( ) をシェルが解釈できなくする方法ありますか

177 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/24(土) 09:28:12 ]
>>176
* については set -f

その他については set -f では無理。
その都度クォートするしかない。

178 名前:お前名無しだろ [2007/11/27(火) 18:23:10 ]
>>1-1000
オリジナル地球( ̄ー ̄)ニヤリ
    ↓
image.space.rakuten.co.jp/lg01/76/0000243776/31/imgdf644215zik0zj.jpeg

179 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/18(火) 14:28:40 ]
パッチ キタコレ
bash32-033
readline52-012

180 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/22(土) 21:45:18 ]
>>175
ウマい! (^∀^)

181 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 20:19:38 ]
bash3 の話でなくて申し訳ないが
rbashをうまく使ってサービスみたいなものを運用している香具師いる?
単に
www.atmarkit.co.jp/flinux/rensai/linuxtips/363rbashuser.html
を参考にしつつ 使えるコマンドを制限するしか
おもしろいネタは無いんだろうか









[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<37KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef