bash2で補完機能が強化されているようですが
皆さんいかがお過ごしでしょうか?
探検
bashで補完スレ
1complete
NGNG27名無しさん@お腹いっぱい。
NGNG 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とかで探さないとね。
ここで少しだけ紹介されていた。ここにあるリンク先
http://www.caliban.org/bash/index.shtml#completion
にあるbash-completion-20020225.tar.gzのなかにたくさん
補完候補があったよ。但し、2.05以降でしか使えないみたい
だから2.04とかのひとはがんばってgoogleとかで探さないとね。
28名無しさん@お腹いっぱい。
NGNG >>27
ありがとうage
ありがとうage
29名無しさん@お腹いっぱい。
NGNG >>26
対話的利用時の設定は、
PS1が設定されている場合だけ行うのが、Bourne系shellの流儀です。
if [ ${PS1:-not_interactive} = not_interactive ]; the
対話的利用時の設定(alias,completeなど)
fi
こうしないと別の人間が/のscriptを使った時に、
aliasの設定等により別の動作をしてしまう可能性があります。
bashは、$-にiが含まれていても対話的利用と分かります。
対話的利用時の設定は、
PS1が設定されている場合だけ行うのが、Bourne系shellの流儀です。
if [ ${PS1:-not_interactive} = not_interactive ]; the
対話的利用時の設定(alias,completeなど)
fi
こうしないと別の人間が/のscriptを使った時に、
aliasの設定等により別の動作をしてしまう可能性があります。
bashは、$-にiが含まれていても対話的利用と分かります。
NGNG
NGNG
NGNG
誰か >>10 の
> と真似してみたところディレクトリは補完されないようです
を解決する関数を書いた人はいませんか? いたらウプして下さい。
bash-completion-20020306 を試してみたけどなさそうです。
> と真似してみたところディレクトリは補完されないようです
を解決する関数を書いた人はいませんか? いたらウプして下さい。
bash-completion-20020306 を試してみたけどなさそうです。
3332
NGNG 誰も反応してくれないので自分で書いたよ。
もっとシンプルに書けんもんかのう…せめて関数にパターンが渡せれば。
いちいち関数定義なんかしてられんよ。
_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
もっとシンプルに書けんもんかのう…せめて関数にパターンが渡せれば。
いちいち関数定義なんかしてられんよ。
_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
NGNG
halt
35名無しさん@お腹いっぱい。
NGNG reboot
NGNG
login:
NGNG
login: root
Password:
Password:
38名無しさん@お腹いっぱい。
NGNG /sbin/shutdown -r now
NGNG
login:
40名無しさん@お腹いっぱい。
NGNG4140
NGNG ずいぶん返事が遅れてすまぬ。
33でうまくいってます。
しかし33のいうとおり一つ一つ関数定義するのメンドイね。
何かいい方法ないかな?
33でうまくいってます。
しかし33のいうとおり一つ一つ関数定義するのメンドイね。
何かいい方法ないかな?
NGNG
bashがよくわ<tab>
43名無しさん@お腹いっぱい。
NGNGNGNG
英語がよくわ<tab>
NGNG
% 英語がよくわ<tab>
たしを苦しめる
% 英語がよくわ_
たしを苦しめる
% 英語がよくわ_
46名無しさん@お腹いっぱい。
NGNG $ tcshやzshはどうして<Ctrl-D>
で保管をリスティングするのだろう?
$ tcshやzshはどうして
$ promptを%<tab>
って書いている奴は本当にbash使ってるのかと(略
$ promptを%
で保管をリスティングするのだろう?
$ tcshやzshはどうして
$ promptを%<tab>
って書いている奴は本当にbash使ってるのかと(略
$ promptを%
NGNG
俺zshだけど%使ってる。
48名無しさん@お腹いっぱい。
NGNG bashでtcshみたいに
$ s
って入力してから履歴見ると
履歴の中で「s」で始まるのだけ表示してくれるようにって出来る?
$ s
って入力してから履歴見ると
履歴の中で「s」で始まるのだけ表示してくれるようにって出来る?
NGNG
>>46
コマカイコトイウナヨーオマエ
コマカイコトイウナヨーオマエ
NGNG
NGNG
「bashがマルチバイト文字に正式対応」
http://slashdot.jp/article.pl?sid=02/07/22/1936207
これって日本語のファイル名とかもlsで表示できるってこと?
http://slashdot.jp/article.pl?sid=02/07/22/1936207
これって日本語のファイル名とかもlsで表示できるってこと?
NGNG
こういう時はageたほうがいいような。
よくわからんのでさっそく2.05bをいれてみたんだが、行の折り返しで化ける問題
もマルチバイト文字を2文字として認識してる問題も、まるっきり変わってない
ような気が。
buildの仕方に問題あったのかなあ。
あ、でも補完機能すごいね。
補完リストが1画面分より長いと、途中で止めてくれるわ。これは便利かも。
よくわからんのでさっそく2.05bをいれてみたんだが、行の折り返しで化ける問題
もマルチバイト文字を2文字として認識してる問題も、まるっきり変わってない
ような気が。
buildの仕方に問題あったのかなあ。
あ、でも補完機能すごいね。
補完リストが1画面分より長いと、途中で止めてくれるわ。これは便利かも。
NGNG
いっしょに話題になったreadlineをインスコした。
readlineを使ったプログラム、うちの場合はPostgreSQLの
フロントエンドpsqlなのだが、ロケールの設定を日本語に
しておくと、漢字部分でのカーソル移動がちゃんと2文字分
になってて、削除も漢字1文字ごとやってくれる。
多分新Bashもこんな感じなのかな。psqlではおかげで
日本語レコードの操作が楽になったので新Bashでは
ターミナルでのマルチバイト処理がしやすくなってる
と推測。あくまで推測 (w
readlineを使ったプログラム、うちの場合はPostgreSQLの
フロントエンドpsqlなのだが、ロケールの設定を日本語に
しておくと、漢字部分でのカーソル移動がちゃんと2文字分
になってて、削除も漢字1文字ごとやってくれる。
多分新Bashもこんな感じなのかな。psqlではおかげで
日本語レコードの操作が楽になったので新Bashでは
ターミナルでのマルチバイト処理がしやすくなってる
と推測。あくまで推測 (w
5453
NGNG まてよ、psqlは前からマルチバイト扱えたっけ?
うーん、今では確認しようがない。スマソ。
うーん、今では確認しようがない。スマソ。
NGNG
NGNG
>>55
今のpsqlにはパッチ当ててない。それで日本語が
まともになったということは。やはりreadlineですかね。
なんかglibcといい、bashといい、マルチバイト対応が
すごいですね。ロケールの切り替えだけで多言語対応できる
Unixマンセー。
今のpsqlにはパッチ当ててない。それで日本語が
まともになったということは。やはりreadlineですかね。
なんかglibcといい、bashといい、マルチバイト対応が
すごいですね。ロケールの切り替えだけで多言語対応できる
Unixマンセー。
NGNG
>>52
コンパイルオプション増えた?>自分でやりって言わないで・・
コンパイルオプション増えた?>自分でやりって言わないで・・
NGNG
>>52
libcがヘボいと(たぶん)configure時に「マルチバイト駄目じゃん」と
判断されて従来通りコンパイルされるよ。
だからCitrus無しのNetBSDとかCygwinなんかだと悲しい…
libcがヘボいと(たぶん)configure時に「マルチバイト駄目じゃん」と
判断されて従来通りコンパイルされるよ。
だからCitrus無しのNetBSDとかCygwinなんかだと悲しい…
59名無しさん@お腹いっぱい。
NGNG バスケットシューズあげ
NGNG
バトミントンシューズsage
NGNG
>48
.inputrc に
"\C-n":history-search-forward
"\C-p":history-search-backward
とか書くとか。
.inputrc に
"\C-n":history-search-forward
"\C-p":history-search-backward
とか書くとか。
62名無しさん@お腹いっぱい。
NGNG bashのパターン照合について
複数のパターンで文字列を抽出
する方法ありましたらご指南お願いします。
(もっとも一旦変数に格納し、分ければ
いいのですが、可能ならばその方法を知りたいです。)
例えば、
$data="/export/user1/test-20020909.log"
で20020909の文字を抽出する場合、一度に
${${data##/*-}%.*}
の様にしたいのですが、
bad substitution
とエラーが出てしまいます。
複数のパターンで文字列を抽出
する方法ありましたらご指南お願いします。
(もっとも一旦変数に格納し、分ければ
いいのですが、可能ならばその方法を知りたいです。)
例えば、
$data="/export/user1/test-20020909.log"
で20020909の文字を抽出する場合、一度に
${${data##/*-}%.*}
の様にしたいのですが、
bad substitution
とエラーが出てしまいます。
NGNG
NGNG
65名無しさん@お腹いっぱい。
NGNG 補完じゃないんですけど教えてください。
emacsと同様に ALT+Backspaceで一語消したいのですが、
どうやったら良いのでしょうか?
emacsと同様に ALT+Backspaceで一語消したいのですが、
どうやったら良いのでしょうか?
NGNG
>65
あり、 ALT+BS ってデフォルトで消えなかったっけ?
ALT+h なら .inputrc に下を書けばいいんだけど。。。
"\M-h":backward-kill-word
あり、 ALT+BS ってデフォルトで消えなかったっけ?
ALT+h なら .inputrc に下を書けばいいんだけど。。。
"\M-h":backward-kill-word
NGNG
>67
version の違いですかね?
挙動の違いといえば、チルダの展開も変わってたりしてハマりますなぁ。。。
version の違いですかね?
挙動の違いといえば、チルダの展開も変わってたりしてハマりますなぁ。。。
6967
NGNG それが、どうもバージョンじゃないみたいなんで悩んでます。(--versionしてみた)
しかも、消せるほうのbashのバイナリを消せないホストにコピーすると、ちゃーんと
消せるようになるんで、設定ファイルとかのせいでも無いみたい...
コンパイル時のオプションかと思うんですけど、もうコンパイルしたときの
作業したソースとか全部消しちゃったんで、ちゃんと動かせるオプション試行錯誤して見つけないと
確かめられなさそう...(コンパイル時のオプション情報なんてバイナリに残らないですよね...)
しかも、消せるほうのbashのバイナリを消せないホストにコピーすると、ちゃーんと
消せるようになるんで、設定ファイルとかのせいでも無いみたい...
コンパイル時のオプションかと思うんですけど、もうコンパイルしたときの
作業したソースとか全部消しちゃったんで、ちゃんと動かせるオプション試行錯誤して見つけないと
確かめられなさそう...(コンパイル時のオプション情報なんてバイナリに残らないですよね...)
NGNG
bashで
"\ep": history-search-backward
"\en": history-search-forward
をC-pとかに割り当てたい
"\ep": history-search-backward
"\en": history-search-forward
をC-pとかに割り当てたい
NGNG
cat .zsh-history |xargs ssh remote cat >> .zsh-history
NGNG
aae
73山崎渉
NGNG (^^)
74山崎渉
NGNG (^^)
75名無しさん@お腹いっぱい。
NGNG $ このス^I
このスレって、もう死に体だね!
$ このスレって、もう死に体だね!_
このスレって、もう死に体だね!
$ このスレって、もう死に体だね!_
NGNG
77山崎渉
NGNG (^^)
78あぼーん
NGNGあぼーん
79名無しさん@Meadow
NGNG パラメータに入れた文字列を、パス展開させたいんだけど、
どうしたらようござんしょう?
例えば、
files="hoge*" && パス展開 && [ ${#files[*]} -ne 0 ]
とか、したいわけよ。
どうしたらようござんしょう?
例えば、
files="hoge*" && パス展開 && [ ${#files[*]} -ne 0 ]
とか、したいわけよ。
8079
NGNG とりあえず、パス名展開はでけたが、配列になってない…(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
むきーっ
> 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
むきーっ
8179
NGNG もれはアホだー!!
> files=(hoge*) && echo ${#files[*]}
3
> files=(hoge*) && echo ${#files[*]}
3
82あぼーん
NGNGあぼーん
83あぼーん
NGNGあぼーん
NGNG
どうせならmigemo呼び出して日本語ファイル名補完とかして欲すぃ。
誰か実装してたりしませんか。
誰か実装してたりしませんか。
85あぼーん
NGNGあぼーん
NGNG
>>56
PS1= の内容については、マルチバイト文字が認識されてないっぽい。
PS1= の内容については、マルチバイト文字が認識されてないっぽい。
87名無しさん@お腹いっぱい。
NGNG menu-completeは引数を受け取れるとmanに書いてあるけど、
こういう引数付きコマンドを.inputrcで何らのキーに割り当てるにはどうするの?
色々やってみたんだが…。
こういう引数付きコマンドを.inputrcで何らのキーに割り当てるにはどうするの?
色々やってみたんだが…。
88名無しさん@お腹いっぱい。
NGNG kshとbashどちらを先に覚えた方がいいですか?
89あぼーん
NGNGあぼーん
NGNG
cygwinのbashには/etc/bash_completionが入ってないなー。
NGNG
Mainte
92名無しさん@お腹いっぱい。
NGNG bashにはtcshのコンプリート機能はないにょ?
NGNG
bash には bash のコンプリート機能があるにょ。
94名無しさん@お腹いっぱい。
NGNG >>93 あったにょ?知らなかったにょ
95ぼるじょあ ◆yBEncckFOU
NGNG ∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
96コンプマン
NGNG 今日はすごい裏技を紹介します。
題して、 「 1から255までループ 」
まず、 1から255までの連続したファイル名を用意します。
中身は空でかまいません。
そのファイルをどこかのディレクトリに格納します。
そして、そのディレクトリに移動したら
for i in *; do echo $i; done
これでばっちり1〜255までループできますね!
【応用編】
1万回ループしたいときは、ファイルを
1〜10000まで用意するといいですよ
題して、 「 1から255までループ 」
まず、 1から255までの連続したファイル名を用意します。
中身は空でかまいません。
そのファイルをどこかのディレクトリに格納します。
そして、そのディレクトリに移動したら
for i in *; do echo $i; done
これでばっちり1〜255までループできますね!
【応用編】
1万回ループしたいときは、ファイルを
1〜10000まで用意するといいですよ
97名無しさん@お腹いっぱい。
NGNG >>96
$ for i in *; do echo $i; done
1
10
100
101
102
103
104
105
106
107
108
109
11
110
111
...
先生!順番が…
$ for i in *; do echo $i; done
1
10
100
101
102
103
104
105
106
107
108
109
11
110
111
...
先生!順番が…
98コンプマン
NGNGNGNG
裏技やるのにファイル作るの面倒な人用↓
a=0;while [ $a -le "255" ];do touch $a;let a="${a}+1";done
こいつで裏技バッチリ。
a=0;while [ $a -le "255" ];do touch $a;let a="${a}+1";done
こいつで裏技バッチリ。
100コンプマン
NGNGNGNG
桁数そろえるには、こんな感じかな。
for i in *;do mv $i `echo $i |sed "s/^\([0-9]\)$/00\1/;s/^\([0-9][0-9]\)$/0\1/"`;done
for i in *;do mv $i `echo $i |sed "s/^\([0-9]\)$/00\1/;s/^\([0-9][0-9]\)$/0\1/"`;done
NGNG
GNU coreutils の seq でいいよ...
105コンプマン
NGNG >>104
for i in `seq -w 255`; do touch $i; done
と、こうくるわけですか。さすが グニュー使いは裏技使い!
もちろん動作も最も速くて完璧超人ですか・・・
でももしこれが 255000 だったりしたらたいへんです
なかなか始まりません。 これが今日の裏技。
for i in `seq -w 255`; do touch $i; done
と、こうくるわけですか。さすが グニュー使いは裏技使い!
もちろん動作も最も速くて完璧超人ですか・・・
でももしこれが 255000 だったりしたらたいへんです
なかなか始まりません。 これが今日の裏技。
NGNG
seq -w 255000 | while read i;do echo $i;done
だと、ちっとまし?
だと、ちっとまし?
NGNG
109コンプマン
NGNGNGNG
>>108
何でもかんでも built-in にするのキモい。
何でもかんでも built-in にするのキモい。
NGNG
>>110
思想的にちょっぴり同意。
思想的にちょっぴり同意。
NGNG
busybox立場無いなぁ とか思ったりしたけど バッシュレ?
NGNG
built-inだと誇らしげに言ってるあたりがイタイね
114名無しさん@お腹いっぱい。
NGNG void main (){}
をa.outとコンパイルして
a.out && echo "sage"
とするとsageと表示されるのですがそんなものなのですか?
返り値を返してはいないのですが。。。
不定の結果なのでしょうか?
をa.outとコンパイルして
a.out && echo "sage"
とするとsageと表示されるのですがそんなものなのですか?
返り値を返してはいないのですが。。。
不定の結果なのでしょうか?
115名無しさん@お腹いっぱい。
NGNGNGNG
117名無しさん@お腹いっぱい。
NGNGNGNG
zsh はいつか perl も built-in にしそうだな。
NGNG
ゆくゆくは Emacs を
NGNG
NGNG
ああ、>>117 の 3 つがまとまった coreutils は GNU の産物だからね。
Linux 使いは coreutils パッケージとしてまとめてインストールしておいたほうが
本気で細々したプログラム群を個別にインストールしなくていいので楽。
coreutils が要らないって人は別のパッケージングや管理方法を使ってるんでしょう。たぶん。
Linux 使いは coreutils パッケージとしてまとめてインストールしておいたほうが
本気で細々したプログラム群を個別にインストールしなくていいので楽。
coreutils が要らないって人は別のパッケージングや管理方法を使ってるんでしょう。たぶん。
NGNG
>>121
> Linux 使いは coreutils パッケージとしてまとめてインストールしておいたほうが
> 本気で細々したプログラム群を個別にインストールしなくていいので楽。
板違い。
> coreutils が要らないって人は別のパッケージングや管理方法を使ってるんでしょう。たぶん。
OS 附属のものを使ってます。
> Linux 使いは coreutils パッケージとしてまとめてインストールしておいたほうが
> 本気で細々したプログラム群を個別にインストールしなくていいので楽。
板違い。
> coreutils が要らないって人は別のパッケージングや管理方法を使ってるんでしょう。たぶん。
OS 附属のものを使ってます。
NGNG
>>112
あれは限定された環境で使うためのものじゃん。
あれは限定された環境で使うためのものじゃん。
NGNG
補完の話じゃなくて申し訳ないが質問。
十年以上 tcsh使ってて、
たまーに Linuxとか cygwin入ってる Windowsとかで bashを使うことが
あって、そのたびに面倒だなーと思ってるんだけど
bash で tcsh の implicitcd に相当することをするにはどうするの?
(ディレクトリ名タイプだけで cdする機能)
十年以上 tcsh使ってて、
たまーに Linuxとか cygwin入ってる Windowsとかで bashを使うことが
あって、そのたびに面倒だなーと思ってるんだけど
bash で tcsh の implicitcd に相当することをするにはどうするの?
(ディレクトリ名タイプだけで cdする機能)
NGNG
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias .....='cd ../../../..'
...
alias ...='cd ../..'
alias ....='cd ../../..'
alias .....='cd ../../../..'
...
NGNG
bashが当たり前に動いてるUNIXってあるんですか?
NGNG
linux
レスを投稿する
ニュース
- ■緊急地震速報 熊本など [人気者★]
- 性売買「買う側」処罰化と同時に「売る側は処罰せず、支援の対象に」Colabo主催の集会にて [パンナ・コッタ★]
- 相次ぐ中国公演中止に、シンガーソングライターらが続々高市首相に怒り表明「隣国の仲間たちに対して申し訳ない」 [muffin★]
- NHKの災害情報、閲覧に「ユーザー登録必要」で批判の声多数 [少考さん★]
- とろサーモン・久保田「後輩や演者からも評判が悪すぎる」大物MCに意見 「世間が思ってる人間とは真逆」と思い爆発 [muffin★]
- 〈NHK督促10倍に強化〉「カーナビも受信料いただきます」方針に自治体が悲鳴…“督促の基準”を大赤字のNHKにきいた [パンナ・コッタ★]
- しじみ [546716239]
- 大地震 [904880432]
- 大震災
- 【安倍晋三】山上徹也は暴力を使った。お前らはそれを認め許すの? [201193242]
- 高市地震 [485983549]
- 高市早苗さん、トランプにガチで怒られた模様🥺 [931948549]
