- 1 名前:complete [02/02/07 03:16.net]
- bash2で補完機能が強化されているようですが
皆さんいかがお過ごしでしょうか?
- 52 名前:名無しさん@お腹いっぱい。 mailto:age [02/07/23 15:20.net]
- こういう時はageたほうがいいような。
よくわからんのでさっそく2.05bをいれてみたんだが、行の折り返しで化ける問題 もマルチバイト文字を2文字として認識してる問題も、まるっきり変わってない ような気が。 buildの仕方に問題あったのかなあ。 あ、でも補完機能すごいね。 補完リストが1画面分より長いと、途中で止めてくれるわ。これは便利かも。
- 53 名前:名無しさん@お腹いっぱい。 mailto:sage [02/07/23 15:33.net]
- いっしょに話題になったreadlineをインスコした。
readlineを使ったプログラム、うちの場合はPostgreSQLの フロントエンドpsqlなのだが、ロケールの設定を日本語に しておくと、漢字部分でのカーソル移動がちゃんと2文字分 になってて、削除も漢字1文字ごとやってくれる。 多分新Bashもこんな感じなのかな。psqlではおかげで 日本語レコードの操作が楽になったので新Bashでは ターミナルでのマルチバイト処理がしやすくなってる と推測。あくまで推測 (w
- 54 名前:53 mailto:sage [02/07/23 15:34.net]
- まてよ、psqlは前からマルチバイト扱えたっけ?
うーん、今では確認しようがない。スマソ。
- 55 名前:名無しさん@お腹いっぱい。 mailto:sage [02/07/23 15:51.net]
- >>54
psqlは日本語パッチがあって、それ当ててれば日本語の編集がウマーだったよ うな気がする。
- 56 名前:名無しさん@お腹いっぱい。 mailto:sage [02/07/23 16:08.net]
- >>55
今のpsqlにはパッチ当ててない。それで日本語が まともになったということは。やはりreadlineですかね。 なんかglibcといい、bashといい、マルチバイト対応が すごいですね。ロケールの切り替えだけで多言語対応できる Unixマンセー。
- 57 名前:名無しさん@お腹いっぱい。 mailto:sage [02/07/23 16:26.net]
- >>52
コンパイルオプション増えた?>自分でやりって言わないで・・
- 58 名前:名無しさん@お腹いっぱい。 mailto:sage [02/07/24 00:45.net]
- >>52
libcがヘボいと(たぶん)configure時に「マルチバイト駄目じゃん」と 判断されて従来通りコンパイルされるよ。 だからCitrus無しのNetBSDとかCygwinなんかだと悲しい…
- 59 名前:名無しさん@お腹いっぱい。 [02/09/01 12:17.net]
- バスケットシューズあげ
- 60 名前:名無しさん@お腹いっぱい。 mailto:sage [02/09/01 17:38.net]
- バトミントンシューズsage
- 61 名前:名無しさん@XEmacs mailto:sage [02/09/01 23:31.net]
- >48
.inputrc に "\C-n":history-search-forward "\C-p":history-search-backward とか書くとか。
- 62 名前:名無しさん@お腹いっぱい。 [02/09/09 11:53.net]
- bashのパターン照合について
複数のパターンで文字列を抽出 する方法ありましたらご指南お願いします。 (もっとも一旦変数に格納し、分ければ いいのですが、可能ならばその方法を知りたいです。) 例えば、 $data="/export/user1/test-20020909.log" で20020909の文字を抽出する場合、一度に ${${data##/*-}%.*} の様にしたいのですが、 bad substitution とエラーが出てしまいます。
- 63 名前:名無しさん@お腹いっぱい。 mailto:sage [02/09/09 12:00.net]
- >>62
こっちで。 シェル、オークの質問コーナー pc.2ch.net/test/read.cgi/unix/1000303370/
- 64 名前:名無しさん@お腹いっぱい。 mailto:sage [02/09/09 12:18.net]
- >>62
誘導ども。 逝ってきます。
- 65 名前:名無しさん@お腹いっぱい。 [02/09/17 06:57.net]
- 補完じゃないんですけど教えてください。
emacsと同様に ALT+Backspaceで一語消したいのですが、 どうやったら良いのでしょうか?
- 66 名前:名無しさん@XEmacs mailto:sage [02/09/17 09:41.net]
- >65
あり、 ALT+BS ってデフォルトで消えなかったっけ? ALT+h なら .inputrc に下を書けばいいんだけど。。。 "\M-h":backward-kill-word
- 67 名前:65 mailto:sage [02/09/17 23:25.net]
- >>66
あっ、すみません! 家の中に、デフォルトで消えるbashと消えないbashがあるのに気付きました。 #うーん、なんでだろう??
- 68 名前:名無しさん@XEmacs mailto:sage [02/09/18 04:16.net]
- >67
version の違いですかね? 挙動の違いといえば、チルダの展開も変わってたりしてハマりますなぁ。。。
- 69 名前:67 mailto:sage [02/09/18 04:56.net]
- それが、どうもバージョンじゃないみたいなんで悩んでます。(--versionしてみた)
しかも、消せるほうのbashのバイナリを消せないホストにコピーすると、ちゃーんと 消せるようになるんで、設定ファイルとかのせいでも無いみたい... コンパイル時のオプションかと思うんですけど、もうコンパイルしたときの 作業したソースとか全部消しちゃったんで、ちゃんと動かせるオプション試行錯誤して見つけないと 確かめられなさそう...(コンパイル時のオプション情報なんてバイナリに残らないですよね...)
- 70 名前:名無しさん@お腹いっぱい。 mailto:sage [02/10/20 17:29.net]
- bashで
"\ep": history-search-backward "\en": history-search-forward をC-pとかに割り当てたい
- 71 名前:名無しさん@お腹いっぱい。 mailto:sage [02/10/20 17:49.net]
- cat .zsh-history |xargs ssh remote cat >> .zsh-history
- 72 名前:名無しさん@お腹いっぱい。 mailto:sage [02/10/28 10:03.net]
- aae
- 73 名前:山崎渉 mailto:(^^)sage [03/01/15 13:25.net]
- (^^)
- 74 名前:山崎渉 mailto:(^^) [03/03/13 18:00.net]
- (^^)
- 75 名前:名無しさん@お腹いっぱい。 [03/03/18 22:46.net]
- $ このス^I
このスレって、もう死に体だね! $ このスレって、もう死に体だね!_
- 76 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/19 06:29.net]
- >>70
割り当てろよ
- 77 名前:山崎渉 mailto:(^^) [03/04/17 12:15.net]
- (^^)
- 78 名前:あぼーん mailto:あぼーん [あぼーん.net]
- あぼーん
- 79 名前:名無しさん@Meadow [03/04/26 19:21.net]
- パラメータに入れた文字列を、パス展開させたいんだけど、
どうしたらようござんしょう? 例えば、 files="hoge*" && パス展開 && [ ${#files[*]} -ne 0 ] とか、したいわけよ。
- 80 名前:79 [03/04/26 19:40.net]
- とりあえず、パス名展開はでけたが、配列になってない…(T_T)
> touch hogea hogeb hogec > echo hoge* hogea hogeb hogec > files="hoge*" && echo ${#files} 5 > files="hoge*" && tmp=`echo $files` && echo ${#tmp} 17 で $files がパス名展開されてることが分かったが、 > files="hoge*" && tmp=`echo $files` && echo ${#tmp[*]} 1 むきーっ
- 81 名前:79 [03/04/26 20:21.net]
- もれはアホだー!!
> files=(hoge*) && echo ${#files[*]} 3
- 82 名前:あぼーん mailto:あぼーん [あぼーん.net]
- あぼーん
- 83 名前:あぼーん mailto:あぼーん [あぼーん.net]
- あぼーん
- 84 名前:名無しさん@お腹いっぱい。 mailto:age [03/06/14 12:32.net]
- どうせならmigemo呼び出して日本語ファイル名補完とかして欲すぃ。
誰か実装してたりしませんか。
- 85 名前:あぼーん mailto:あぼーん [あぼーん.net]
- あぼーん
- 86 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/15 11:23.net]
- >>56
PS1= の内容については、マルチバイト文字が認識されてないっぽい。
- 87 名前:名無しさん@お腹いっぱい。 [03/06/18 22:47.net]
- menu-completeは引数を受け取れるとmanに書いてあるけど、
こういう引数付きコマンドを.inputrcで何らのキーに割り当てるにはどうするの? 色々やってみたんだが…。
- 88 名前:名無しさん@お腹いっぱい。 [03/07/13 22:28.net]
- kshとbashどちらを先に覚えた方がいいですか?
- 89 名前:あぼーん mailto:あぼーん [あぼーん.net]
- あぼーん
- 90 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/19 22:38.net]
- cygwinのbashには/etc/bash_completionが入ってないなー。
- 91 名前:名無しさん@お腹いっぱい。 mailto:age [03/07/26 22:49.net]
- Mainte
- 92 名前:名無しさん@お腹いっぱい。 [03/07/31 11:23.net]
- bashにはtcshのコンプリート機能はないにょ?
- 93 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/31 11:28.net]
- bash には bash のコンプリート機能があるにょ。
- 94 名前:名無しさん@お腹いっぱい。 [03/07/31 12:08.net]
- >>93 あったにょ?知らなかったにょ
- 95 名前:ぼるじょあ ◆yBEncckFOU mailto:(^^) [03/08/02 04:59.net]
- ∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ
- 96 名前:コンプマン [03/10/15 14:57.net]
- 今日はすごい裏技を紹介します。
題して、 「 1から255までループ 」 まず、 1から255までの連続したファイル名を用意します。 中身は空でかまいません。 そのファイルをどこかのディレクトリに格納します。 そして、そのディレクトリに移動したら for i in *; do echo $i; done これでばっちり1〜255までループできますね! 【応用編】 1万回ループしたいときは、ファイルを 1〜10000まで用意するといいですよ
- 97 名前:名無しさん@お腹いっぱい。 [03/10/15 15:10.net]
- >>96
$ for i in *; do echo $i; done 1 10 100 101 102 103 104 105 106 107 108 109 11 110 111 ... 先生!順番が…
- 98 名前:コンプマン [03/10/15 15:13.net]
- >>97
新たな投稿ありがとう。 ミッションスタート!! ファイル名を 000 001 002 ・・・ 254 255 と書き換えましょう
- 99 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/15 15:49.net]
- 裏技やるのにファイル作るの面倒な人用↓
a=0;while [ $a -le "255" ];do touch $a;let a="${a}+1";done こいつで裏技バッチリ。
- 100 名前:コンプマン [03/10/15 16:53.net]
- 応援ありがとう!!
だが、それではファイル名が>>97のようになってしまい とても不完全なものとなるのでした。 そこで>>99を添削してみました。 caseが美しいですね。 a=1; while [ $a -le "255" ]; do case `echo ${#a}` in "1") s="00$a" ;; "2") s="0$a" ;; "3") s="$a" ;; esac; touch $s; a=$((a+1)); done
- 101 名前:今婦てぃっく mailto:sage [03/10/15 18:37.net]
- >>100
a=0;while [ $a -le "255" ];do touch `printf %03d\\n $a` ;let a="${a}+1";done
- 102 名前:今婦てぃっく mailto:sage [03/10/15 18:39.net]
- >>101
\\nいらね〜・・・touch ``なしで実験したんだよもん
- 103 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/15 18:54.net]
- 桁数そろえるには、こんな感じかな。
for i in *;do mv $i `echo $i |sed "s/^\([0-9]\)$/00\1/;s/^\([0-9][0-9]\)$/0\1/"`;done
- 104 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 09:50.net]
- GNU coreutils の seq でいいよ...
- 105 名前:コンプマン [03/10/16 10:35.net]
- >>104
for i in `seq -w 255`; do touch $i; done と、こうくるわけですか。さすが グニュー使いは裏技使い! もちろん動作も最も速くて完璧超人ですか・・・ でももしこれが 255000 だったりしたらたいへんです なかなか始まりません。 これが今日の裏技。
- 106 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 10:45.net]
- seq -w 255000 | while read i;do echo $i;done
だと、ちっとまし?
- 107 名前:今婦てぃっく mailto:sage [03/10/16 14:17.net]
- >>105
のまえにラインバッファの限界こないか? xargsとかつかいな
- 108 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 14:31.net]
- >>104
> GNU coreutils の seq でいいよ... zsh だとビルトインですが何か?
- 109 名前:コンプマン [03/10/16 14:40.net]
- >>107
それは大丈夫だ。 100万個のループでも我慢して待てば動作するぞ! だが 1000000 は 1e+06 と表現されるから注意が必要だ。 キミも渡来!
- 110 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 14:48.net]
- >>108
何でもかんでも built-in にするのキモい。
- 111 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 17:47.net]
- >>110
思想的にちょっぴり同意。
- 112 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 18:46.net]
- busybox立場無いなぁ とか思ったりしたけど バッシュレ?
- 113 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 19:13.net]
-
built-inだと誇らしげに言ってるあたりがイタイね
- 114 名前:名無しさん@お腹いっぱい。 [03/10/16 21:03.net]
- void main (){}
をa.outとコンパイルして a.out && echo "sage" とするとsageと表示されるのですがそんなものなのですか? 返り値を返してはいないのですが。。。 不定の結果なのでしょうか?
- 115 名前:名無しさん@お腹いっぱい。 [03/10/16 21:26.net]
- >>114
./a.out; echo $? だとどう?
- 116 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 23:25.net]
- >>110
> 何でもかんでも built-in にするのキモい。 >>113 > built-inだと誇らしげに言ってるあたりがイタイね そうかな。coreutils, bash を両方インストールするのが無駄
- 117 名前:名無しさん@お腹いっぱい。 [03/10/17 01:23.net]
- >>116
coreutils = fileutils + textutils + sh-utils どのみち使う。無駄なわけない
- 118 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/17 02:18.net]
- zsh はいつか perl も built-in にしそうだな。
- 119 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/17 02:39.net]
- ゆくゆくは Emacs を
- 120 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/17 02:58.net]
- >>117
> coreutils = fileutils + textutils + sh-utils > どのみち使う。無駄なわけない Linux ゆーざだけでは?
- 121 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/17 10:35.net]
- ああ、>>117 の 3 つがまとまった coreutils は GNU の産物だからね。
Linux 使いは coreutils パッケージとしてまとめてインストールしておいたほうが 本気で細々したプログラム群を個別にインストールしなくていいので楽。 coreutils が要らないって人は別のパッケージングや管理方法を使ってるんでしょう。たぶん。
- 122 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/17 10:39.net]
- >>121
> Linux 使いは coreutils パッケージとしてまとめてインストールしておいたほうが > 本気で細々したプログラム群を個別にインストールしなくていいので楽。 板違い。 > coreutils が要らないって人は別のパッケージングや管理方法を使ってるんでしょう。たぶん。 OS 附属のものを使ってます。
- 123 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/17 14:07.net]
- >>112
あれは限定された環境で使うためのものじゃん。
- 124 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/10 09:22.net]
- 補完の話じゃなくて申し訳ないが質問。
十年以上 tcsh使ってて、 たまーに Linuxとか cygwin入ってる Windowsとかで bashを使うことが あって、そのたびに面倒だなーと思ってるんだけど bash で tcsh の implicitcd に相当することをするにはどうするの? (ディレクトリ名タイプだけで cdする機能)
- 125 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/10 20:22.net]
- alias ..='cd ..'
alias ...='cd ../..' alias ....='cd ../../..' alias .....='cd ../../../..' ...
- 126 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/16 20:55.net]
- bashが当たり前に動いてるUNIXってあるんですか?
- 127 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/16 22:07.net]
- linux
- 128 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/16 22:19.net]
- cygwin
- 129 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/16 22:24.net]
- >>126
ずいぶん前から Solaris にも入ってるよ。
- 130 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/17 21:27.net]
- solarisですか!勉強になりました。調べてみます。
- 131 名前:仕様書無しさん [04/02/15 19:32.net]
- 補完の質問ではないのですが、他にbashのスレが無いようなので
ここに書かせていただきます。 ls -l | grep '^d' のようなパイプラインの実現方法なのですが、 @foo.shのようなファイルに記述してそこにパスを通す A.bashrcで関数function foo{...}と定義する 上記の@とAのどちらが適切なのでしょうか。
- 132 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/15 20:20.net]
- ・シェル関数はカレントシェルのプロセス内で実行される
・シェルスクリプトはサブシェル内で実行される ls -a | grep なんとか というコマンド列はどっちでも変わらない。
- 133 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/15 21:52.net]
- >>131
どちらがといわれても、どっちも空白にしか見えない。
- 134 名前:コンプマン [04/03/01 11:40.net]
- 今日はbashのif文で質問だ!
if文は便利だが、AND条件でちょっと困ったことがある if [ "$HOGE"="hoge" and "$PIYO"="piyo" ]; then 〜 みたいなことをやりたいときは どうするのが賢いかな? if文if文、またif文!?
- 135 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/01 11:51.net]
- あきらめて下さい。
- 136 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/01 12:08.net]
- if [ list1 -a list2 ]; then 〜
- 137 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/01 13:00.net]
- >>134
if [ "$HOGE" = hoge ] && [ "$PIYO" = piyo ]; then 補完関係ないし。
- 138 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/01 13:20.net]
- [ が何だかわかってるのかな
- 139 名前:コンプマン mailto:sage [04/03/01 13:45.net]
- >>138
今知った! 賢くなった! >>137 ありがとう! 紳士よ!
- 140 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/01 13:54.net]
- >>134
help test or man test
- 141 名前:名無しさん@お腹いっぱい。 [04/04/13 13:15.net]
- if文で文字列の辞書比較
- 142 名前:名無しさん@お腹いっぱい。 [04/04/14 15:15.net]
- if文で文字列の辞書比較
はどうやら出来そうも無い
- 143 名前:名無しさん@お腹いっぱい。 [04/04/17 14:48.net]
- if文で文字列の辞書比較
はどうやら出来そうも無い 別の方法で実現することに
- 144 名前:名無しさん@お腹いっぱい。 [04/04/17 15:01.net]
- if文で文字列の辞書比較
はどうやら出来そうも無い 別の方法で実現することに したいと僕のアナルが報告
- 145 名前:名無しさん@お腹いっぱい。 mailto:sage [04/04/27 21:52.net]
- if文で文字列の辞書比較
はどうやら出来そうも無い 別の方法で実現することに したいと僕のアナルが報告 するためにローションを
- 146 名前:名無しさん@お腹いっぱい。 [04/05/01 16:45.net]
- if文で文字列の辞書比較
はどうやら出来そうも無い 別の方法で実現することに したいと僕のアナルが報告 するためにローションを ぬ<tab> ぬか ぬっころす ぬりたくり ぬるぽ if文で文字列の辞書比較 はどうやら出来そうも無い 別の方法で実現することに したいと僕のアナルが報告 するためにローションを ぬ
- 147 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/01 22:55.net]
- >146 ガッ!! AA(ry
- 148 名前:名無しさん@お腹いっぱい。 [04/05/11 10:20.net]
- uniqするにはsortしなければならないけど
sortしてuniqしたあと、sort前に戻したい というか、sortなしでuniqしたい どうしたらいいかな? 自分で書いたらかっこよくなかった スタイリッシュな方法キボン
- 149 名前:名無しさん@お腹いっぱい。 [04/05/11 10:24.net]
- cshがあれば他はいらなくね?
ぬるぽ
- 150 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/11 10:59.net]
- 番号つけてsortしてuniqして番号順にsortして番号消すってのが、
かっこよくない方法か?>>148
- 151 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/11 11:03.net]
- 補完と関係あるのか?
- 152 名前:名無しさん@お腹いっぱい。 [04/05/11 11:41.net]
- >>150
番号つけてソートしたら番号順にソートされて つまりそれってソートされないんじゃ?
|

|