TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
       消防・厨房のころから       
ハッカーになりたいんですけど誰か教えて下さい
【MRTG/rrdtool】 グラフィカルモニター化 Part3
ports, bootstrap-pkgsrcでトラブったらageるスレ
エディタ作ったよ!見てみて!
Vim Part29
Sun Microsystems 最寄の親戚
【脱・初心者】僕のパソコン日記【達人を目指せ】
PPPoE (PPP over Ethernet) スレッド
どうして内容を表示するコマンドがcatなの?

bashで補完スレ


1 :02/02/07 〜 最終レス :2018/05/22
bash2で補完機能が強化されているようですが
皆さんいかがお過ごしでしょうか?

2 :
2Get

3 :
>>1
> bash2で補完機能が強化されているようですが
> 皆さんいかがお過ごしでしょうか?
R

4 :
complete -d cd
complete -c man
complete -u {su,finger}

5 :
autoload -U compinit;compinit

6 :
gccの引数として*.cを補完させたいときどうすればいいの?

7 :
>>6
漏れも教えてほすぃ

8 :
mv !$ ~/trash
みたいなAlias書きたいのですが、、、
どうかいたらいいですかね?

9 :
>>6 bash-2.0.5aの
examples/complete/complete* を眺めた感じでは
complete -f -X '!*.c' gcc
だと思う。誰か試してくれ

10 :
>>8
!$が何か知りませんが
function rm () { command mv $@ ~/trash/ ; }
とかどうでしょう?
rmとmvのオプションの違いとかを吸収していませんが
>>9
カレントディレクトリのファイルはうまく補完できるみたいです
lprとかで印刷するときなどにディレクトリ名も補完しながら
探せると便利だと思うんですが
complete -f -X'!*.ps' lpr
と真似してみたところディレクトリは補完されないようです

11 :
>>10
rm -r怒られるのちと痛いんでsedかawkでちょっとだけ
引数修正したいね。

12 :
bashよりzshつかうべき?

13 :
>>12
悩むなら bash より zsh 使えば良い。

14 :
っつー事で zsh スレ
http://pc.2ch.sc/test/read.cgi/unix/990283346/

15 :
>>14
そりゃ反則ですよ

16 :
bash2って何処で手にはいるの?


17 :
>>16
FreeBSDやLinuxのほとんどのディストリビューションに
はいってますよ。

18 :
bash2補完機能もっとがんばれage

19 :
ええと、自慢の.bashrcをアプし合うスレはここですか?

20 :
>>19
いいえ。ゴミなら/dev/nullにどうぞ。

21 :
おまえらのシステムにはこういうゴミが有りますか?
/usr/man/man1/..1.gz
/usr/man/man1/:.1.gz

22 :
complete: usage: complete [-abcdefjkvu] [-pr]
[-A action] [-G globpat] [-W wordlist] [-P prefix]
[-S suffix] [-X filterpat] [-F function] [-C command] [name ...]
使い方が判らんのれす

23 :
>>19
.bashrc
とりあえずネラーなら
MAILPATH="/var/mail/mona?メール キタ━━━━━━(゜∀゜)━━━━━━ !!!!! "
MAILCHECK=5
だろう。メールボックスのパスは自分で変えろよ。

24 :
>>22
禿道

25 :
man bash2 に結構書いてあった。
しかし -C の挙動が理解できない。

26 :
スクリプトとかで /bin/bash が使われた時に
complete 無いぞ メッセージが出るんで
[ "$BASH_VERSINFO" = "2" ] で回避してみた。

27 :
http://www.KU3G.org/negi/diary/?20020222#200202222
ここで少しだけ紹介されていた。ここにあるリンク先
http://www.caliban.org/bash/index.shtml#completion
にあるbash-completion-20020225.tar.gzのなかにたくさん
補完候補があったよ。但し、2.05以降でしか使えないみたい
だから2.04とかのひとはがんばってgoogleとかで探さないとね。


28 :
>>27
ありがとうage

29 :
>>26
対話的利用時の設定は、
PS1が設定されている場合だけ行うのが、Bourne系shellの流儀です。
if [ ${PS1:-not_interactive} = not_interactive ]; the
対話的利用時の設定(alias,completeなど)
fi
こうしないと別の人間が/のscriptを使った時に、
aliasの設定等により別の動作をしてしまう可能性があります。
bashは、$-にiが含まれていても対話的利用と分かります。

30 :
>>29
> bashは、$-にiが含まれていても対話的利用と分かります。
$-かぁ。知らなかった。

31 :
>>29
> こうしないと別の人間が/のscriptを使った時に、
#! /bin/bashのscriptを使った時に、
の編集ミスね。

32 :
誰か >>10
> と真似してみたところディレクトリは補完されないようです
を解決する関数を書いた人はいませんか? いたらウプして下さい。
bash-completion-20020306 を試してみたけどなさそうです。

33 :
誰も反応してくれないので自分で書いたよ。
もっとシンプルに書けんもんかのう…せめて関数にパターンが渡せれば。
いちいち関数定義なんかしてられんよ。
_gs()
{
local cur
cur=${COMP_WORDS[COMP_CWORD]}
COMPREPLY=( $( compgen -d -- $cur ) \
$( compgen -f -X '!*.@(?(e)ps|?(E)PS)' -- $cur ) )
return 0
}
complete -F _gs -o filenames gs ghostview


34 :
halt

35 :
reboot

36 :
login:

37 :
login: root
Password:

38 :
/sbin/shutdown -r now

39 :
login:

40 :
>>32
おれももディレクトリを補完できないで悩んでいたんだ。ありがとう。
33を試させてもらいます。

41 :
ずいぶん返事が遅れてすまぬ。
33でうまくいってます。
しかし33のいうとおり一つ一つ関数定義するのメンドイね。
何かいい方法ないかな?

42 :
bashがよくわ<tab>

43 :
>>42
% bashがよくわ<tab>
からない かる かりたい らう
% bashがよくわ_

44 :
英語がよくわ<tab>

45 :
% 英語がよくわ<tab>
たしを苦しめる
% 英語がよくわ_

46 :
$ tcshやzshはどうして<Ctrl-D>
で保管をリスティングするのだろう?
$ tcshやzshはどうして
$ promptを%<tab>
って書いている奴は本当にbash使ってるのかと(略
$ promptを%

47 :
俺zshだけど%使ってる。

48 :
bashでtcshみたいに
$ s
って入力してから履歴見ると
履歴の中で「s」で始まるのだけ表示してくれるようにって出来る?

49 :
>>46
コマカイコトイウナヨーオマエ

50 :
>>46
% 俺は途中乗|<tab>
換でbash使い始めたけど$は落ち着かないから%にしてる
% 俺は途中乗|
% |
% う|<tab>
うるせーばか
% う|

51 :
「bashがマルチバイト文字に正式対応」
http://slashdot.jp/article.pl?sid=02/07/22/1936207
これって日本語のファイル名とかもlsで表示できるってこと?

52 :
こういう時はageたほうがいいような。
よくわからんのでさっそく2.05bをいれてみたんだが、行の折り返しで化ける問題
もマルチバイト文字を2文字として認識してる問題も、まるっきり変わってない
ような気が。
buildの仕方に問題あったのかなあ。
あ、でも補完機能すごいね。
補完リストが1画面分より長いと、途中で止めてくれるわ。これは便利かも。


53 :
いっしょに話題になったreadlineをインスコした。
readlineを使ったプログラム、うちの場合はPostgreSQLの
フロントエンドpsqlなのだが、ロケールの設定を日本語に
しておくと、漢字部分でのカーソル移動がちゃんと2文字分
になってて、削除も漢字1文字ごとやってくれる。
多分新Bashもこんな感じなのかな。psqlではおかげで
日本語レコードの操作が楽になったので新Bashでは
ターミナルでのマルチバイト処理がしやすくなってる
と推測。あくまで推測 (w

54 :
まてよ、psqlは前からマルチバイト扱えたっけ?
うーん、今では確認しようがない。スマソ。

55 :
>>54
psqlは日本語パッチがあって、それ当ててれば日本語の編集がウマーだったよ
うな気がする。

56 :
>>55
今のpsqlにはパッチ当ててない。それで日本語が
まともになったということは。やはりreadlineですかね。
なんかglibcといい、bashといい、マルチバイト対応が
すごいですね。ロケールの切り替えだけで多言語対応できる
Unixマンセー。

57 :
>>52
コンパイルオプション増えた?>自分でやりって言わないで・・

58 :
>>52
libcがヘボいと(たぶん)configure時に「マルチバイト駄目じゃん」と
判断されて従来通りコンパイルされるよ。
だからCitrus無しのNetBSDとかCygwinなんかだと悲しい…

59 :
バスケットシューズあげ

60 :
バトミントンシューズsage

61 :
>48
.inputrc に
"\C-n":history-search-forward
"\C-p":history-search-backward
とか書くとか。

62 :
bashのパターン照合について
複数のパターンで文字列を抽出
する方法ありましたらご指南お願いします。
(もっとも一旦変数に格納し、分ければ
いいのですが、可能ならばその方法を知りたいです。)
例えば、
$data="/export/user1/test-20020909.log"
で20020909の文字を抽出する場合、一度に
${${data##/*-}%.*}
の様にしたいのですが、
bad substitution
とエラーが出てしまいます。

63 :
>>62
こっちで。
シェル、オークの質問コーナー
http://pc.2ch.sc/test/read.cgi/unix/1000303370/

64 :
>>62
誘導ども。
逝ってきます。

65 :
補完じゃないんですけど教えてください。

emacsと同様に ALT+Backspaceで一語消したいのですが、
どうやったら良いのでしょうか?

66 :
>65
あり、 ALT+BS ってデフォルトで消えなかったっけ?
ALT+h なら .inputrc に下を書けばいいんだけど。。。
"\M-h":backward-kill-word

67 :
>>66
あっ、すみません!
家の中に、デフォルトで消えるbashと消えないbashがあるのに気付きました。

#うーん、なんでだろう??

68 :
>67
version の違いですかね?
挙動の違いといえば、チルダの展開も変わってたりしてハマりますなぁ。。。

69 :
それが、どうもバージョンじゃないみたいなんで悩んでます。(--versionしてみた)
しかも、消せるほうのbashのバイナリを消せないホストにコピーすると、ちゃーんと
消せるようになるんで、設定ファイルとかのせいでも無いみたい...
コンパイル時のオプションかと思うんですけど、もうコンパイルしたときの
作業したソースとか全部消しちゃったんで、ちゃんと動かせるオプション試行錯誤して見つけないと
確かめられなさそう...(コンパイル時のオプション情報なんてバイナリに残らないですよね...)


70 :
bashで
"\ep": history-search-backward
"\en": history-search-forward
をC-pとかに割り当てたい

71 :
cat .zsh-history |xargs ssh remote cat >> .zsh-history

72 :
aae

73 :
(^^)

74 :
(^^)

75 :
$ このス^I
このスレって、もう死に体だね!
$ このスレって、もう死に体だね!_

76 :
>>70
割り当てろよ

77 :
(^^)

79 :
パラメータに入れた文字列を、パス展開させたいんだけど、
どうしたらようござんしょう?
例えば、
files="hoge*" && パス展開 && [ ${#files[*]} -ne 0 ]
とか、したいわけよ。

80 :
とりあえず、パス名展開はでけたが、配列になってない…(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 :
もれはアホだー!!
> files=(hoge*) && echo ${#files[*]}
3

84 :
どうせならmigemo呼び出して日本語ファイル名補完とかして欲すぃ。
誰か実装してたりしませんか。

86 :
>>56
PS1= の内容については、マルチバイト文字が認識されてないっぽい。

87 :
menu-completeは引数を受け取れるとmanに書いてあるけど、
こういう引数付きコマンドを.inputrcで何らのキーに割り当てるにはどうするの?
色々やってみたんだが…。

88 :
kshとbashどちらを先に覚えた方がいいですか?

90 :
cygwinのbashには/etc/bash_completionが入ってないなー。

91 :
Mainte

92 :
bashにはtcshのコンプリート機能はないにょ?

93 :
bash には bash のコンプリート機能があるにょ。

94 :
>>93 あったにょ?知らなかったにょ

95 :
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

96 :
今日はすごい裏技を紹介します。
題して、 「 1から255までループ 」
まず、 1から255までの連続したファイル名を用意します。
中身は空でかまいません。
そのファイルをどこかのディレクトリに格納します。
そして、そのディレクトリに移動したら
for i in *; do echo $i; done
これでばっちり1〜255までループできますね!
【応用編】
1万回ループしたいときは、ファイルを
1〜10000まで用意するといいですよ

97 :
>>96
$ for i in *; do echo $i; done
1
10
100
101
102
103
104
105
106
107
108
109
11
110
111
...
先生!順番が…

98 :
>>97
新たな投稿ありがとう。 ミッションスタート!!
ファイル名を
000
001
002
・・・
254
255
と書き換えましょう

99 :
裏技やるのにファイル作るの面倒な人用↓
a=0;while [ $a -le "255" ];do touch $a;let a="${a}+1";done
こいつで裏技バッチリ。

100 :
応援ありがとう!!
だが、それではファイル名が>>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 :
>>100
a=0;while [ $a -le "255" ];do touch `printf %03d\\n $a` ;let a="${a}+1";done

102 :
>>101
\\nいらね〜・・・touch ``なしで実験したんだよもん

103 :
桁数そろえるには、こんな感じかな。
for i in *;do mv $i `echo $i |sed "s/^\([0-9]\)$/00\1/;s/^\([0-9][0-9]\)$/0\1/"`;done

104 :
GNU coreutils の seq でいいよ...

105 :
>>104
for i in `seq -w 255`; do touch $i; done
と、こうくるわけですか。さすが グニュー使いは裏技使い!
もちろん動作も最も速くて完璧超人ですか・・・
でももしこれが 255000 だったりしたらたいへんです
なかなか始まりません。 これが今日の裏技。


100〜のスレッドの続きを読む
UNIXを使える文系としての意見
30年後のUNIX板
machはマッハって読んだほうがカッコイイだろ!
おまえら! shell は何を使っているんですか?
Dual CPU な PC UNIX サーバを構築したい
【何気に】FreeBSD5.x on SPARC64【入りマスタ!】
BSD系居酒屋littelBSD
■Solaris9 ってどうよ?■
RISC型CPUについて
[SECURITTY]メールが他人に洩れていた![SECURITTY]
--------------------
【IT】AMD、第3世代「Ryzen Threadripper」の詳細を発表--「世界最強」のデスクトップCPU
カラオケアプリ sing part1
日本郵便狭山支店
石橋貴明はうんこ 2ウンコ
おーにぃっぽー  サッカーの応援
“歩行者優先”守った車が…横断歩道手前で停止の車に別の車が追突 押し出された車に歩行者はねられ死亡
【N7SC】松村正代 Part3【17時のN/首都圏N845】
安部公房COMPLETE WORKS 018
野球が好きな喪女34
三菱パジェロミニ 44台目 PAJERO MINI
ガンダムGのレコンギスタって
バラードオンリーカラオケオフin関東4
【社会】休業要請「応じぬ事業者の名前公表など強い措置も」経済再生相
阿佐ヶ谷の店!part4
Disney‡SQUAREENIX§キングダムハーツ436.key
面白い芸人に多い血液型
脳科学・神経科学2
俺「メアド教えて」ゆとり後輩「…gmail@…」俺「あっもういいよ、キャリアのメアドも持ってない貧乏人とは連絡取らねえから」 [855279433]
韓流タレントのようにイケメンになろう
建売住宅、中古住宅買う人、リフォーム予定の人が集まるスレ
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼