bashで補完スレ

1complete
垢版 |
NGNG
bash2で補完機能が強化されているようですが
皆さんいかがお過ごしでしょうか?
NGNG
>>104
> GNU coreutils の seq でいいよ...

zsh だとビルトインですが何か?
109コンプマン
垢版 |
NGNG
>>107
それは大丈夫だ。
100万個のループでも我慢して待てば動作するぞ!

だが 1000000 は 1e+06 と表現されるから注意が必要だ。
キミも渡来!
NGNG
>>108
何でもかんでも built-in にするのキモい。
NGNG
>>110
思想的にちょっぴり同意。
NGNG
busybox立場無いなぁ とか思ったりしたけど バッシュレ?
NGNG

built-inだと誇らしげに言ってるあたりがイタイね
114名無しさん@お腹いっぱい。
垢版 |
NGNG
void main (){}

をa.outとコンパイルして

a.out && echo "sage"

とするとsageと表示されるのですがそんなものなのですか?
返り値を返してはいないのですが。。。
不定の結果なのでしょうか?
115名無しさん@お腹いっぱい。
垢版 |
NGNG
>>114
./a.out; echo $?
だとどう?
NGNG
>>110
> 何でもかんでも built-in にするのキモい。
>>113
> built-inだと誇らしげに言ってるあたりがイタイね

そうかな。coreutils, bash を両方インストールするのが無駄
117名無しさん@お腹いっぱい。
垢版 |
NGNG
>>116
coreutils = fileutils + textutils + sh-utils
どのみち使う。無駄なわけない
NGNG
zsh はいつか perl も built-in にしそうだな。
NGNG
ゆくゆくは Emacs を
NGNG
>>117
> coreutils = fileutils + textutils + sh-utils
> どのみち使う。無駄なわけない

Linux ゆーざだけでは?
NGNG
ああ、>>117 の 3 つがまとまった coreutils は GNU の産物だからね。
Linux 使いは coreutils パッケージとしてまとめてインストールしておいたほうが
本気で細々したプログラム群を個別にインストールしなくていいので楽。
coreutils が要らないって人は別のパッケージングや管理方法を使ってるんでしょう。たぶん。
NGNG
>>121
> Linux 使いは coreutils パッケージとしてまとめてインストールしておいたほうが
> 本気で細々したプログラム群を個別にインストールしなくていいので楽。

板違い。

> coreutils が要らないって人は別のパッケージングや管理方法を使ってるんでしょう。たぶん。

OS 附属のものを使ってます。
NGNG
>>112
あれは限定された環境で使うためのものじゃん。
NGNG
補完の話じゃなくて申し訳ないが質問。

十年以上 tcsh使ってて、
たまーに Linuxとか cygwin入ってる Windowsとかで bashを使うことが
あって、そのたびに面倒だなーと思ってるんだけど

bash で tcsh の implicitcd に相当することをするにはどうするの?
(ディレクトリ名タイプだけで cdする機能)
NGNG
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias .....='cd ../../../..'
...
NGNG
bashが当たり前に動いてるUNIXってあるんですか?
NGNG
linux
NGNG
cygwin
NGNG
>>126
ずいぶん前から Solaris にも入ってるよ。
NGNG
solarisですか!勉強になりました。調べてみます。
131仕様書無しさん
垢版 |
NGNG
補完の質問ではないのですが、他にbashのスレが無いようなので
ここに書かせていただきます。
ls -l | grep '^d'
のようなパイプラインの実現方法なのですが、
@foo.shのようなファイルに記述してそこにパスを通す
A.bashrcで関数function foo{...}と定義する
上記の@とAのどちらが適切なのでしょうか。
NGNG
・シェル関数はカレントシェルのプロセス内で実行される
・シェルスクリプトはサブシェル内で実行される

ls -a | grep なんとか

というコマンド列はどっちでも変わらない。
NGNG
>>131
どちらがといわれても、どっちも空白にしか見えない。
134コンプマン
垢版 |
NGNG
今日はbashのif文で質問だ!
if文は便利だが、AND条件でちょっと困ったことがある

if [ "$HOGE"="hoge" and "$PIYO"="piyo" ]; then 〜

みたいなことをやりたいときは どうするのが賢いかな?
if文if文、またif文!?
NGNG
あきらめて下さい。
NGNG
if [ list1 -a list2 ]; then 〜
NGNG
>>134
if [ "$HOGE" = hoge ] && [ "$PIYO" = piyo ]; then
補完関係ないし。
NGNG
[ が何だかわかってるのかな
NGNG
>>138
今知った! 賢くなった!

>>137
ありがとう! 紳士よ!
NGNG
>>134
help test
or
man test
141名無しさん@お腹いっぱい。
垢版 |
NGNG
if文で文字列の辞書比較
142名無しさん@お腹いっぱい。
垢版 |
NGNG
if文で文字列の辞書比較
はどうやら出来そうも無い
143名無しさん@お腹いっぱい。
垢版 |
NGNG
if文で文字列の辞書比較
はどうやら出来そうも無い
別の方法で実現することに
144名無しさん@お腹いっぱい。
垢版 |
NGNG
if文で文字列の辞書比較
はどうやら出来そうも無い
別の方法で実現することに
したいと僕のアナルが報告
NGNG
if文で文字列の辞書比較
はどうやら出来そうも無い
別の方法で実現することに
したいと僕のアナルが報告
するためにローションを
146名無しさん@お腹いっぱい。
垢版 |
NGNG
if文で文字列の辞書比較
はどうやら出来そうも無い
別の方法で実現することに
したいと僕のアナルが報告
するためにローションを
ぬ<tab>

ぬか ぬっころす ぬりたくり ぬるぽ

if文で文字列の辞書比較
はどうやら出来そうも無い
別の方法で実現することに
したいと僕のアナルが報告
するためにローションを

NGNG
>146 ガッ!! AA(ry
148名無しさん@お腹いっぱい。
垢版 |
NGNG
uniqするにはsortしなければならないけど
sortしてuniqしたあと、sort前に戻したい

というか、sortなしでuniqしたい
どうしたらいいかな?

自分で書いたらかっこよくなかった
スタイリッシュな方法キボン
149名無しさん@お腹いっぱい。
垢版 |
NGNG
cshがあれば他はいらなくね?
ぬるぽ
NGNG
番号つけてsortしてuniqして番号順にsortして番号消すってのが、
かっこよくない方法か?>>148
NGNG
補完と関係あるのか?
152名無しさん@お腹いっぱい。
垢版 |
NGNG
>>150
番号つけてソートしたら番号順にソートされて
つまりそれってソートされないんじゃ?
NGNG
>>152
番号以外の部分でソートするってことです。
154名無しさん@お腹いっぱい。
垢版 |
NGNG
丁寧にソートするですね

そーっと


ウェーハッハッハ
155名無しさん@お腹いっぱい。
垢版 |
NGNG
tcsh
NGNG
ソートしてみた。
視覚化になんとJavaVMを使用しています。

* #!/usr/local/bin/bash
* declare -a array[15];
* while :; do
* array=(`cat /dev/urandom|od -tu1 \
* | sed -e 's/^..........//g'| head -n 1`);
* for ((I = 0;I < 16; I++)); do
* echo -n " ${array[${I}]}";
* done
* echo -e "";
* for ((I = 0;I < 15; I++)); do
* for ((J = 15; J > ${I}; J--)); do
* if [ ${array[J - 1]} -gt ${array[J]} ]; then
* tmp=${array[J - 1]};
* array[J - 1]=${array[J]};
* array[J]=${tmp};
* fi
* for ((K = 0;K < 16; K++)); do
* echo -n " ${array[${K}]}";
* done
* if [ ${I} -lt 14 ]; then
* echo -n $'\r';
* fi
* java -version > /dev/null 2>&1;
* done
* done
* echo -e '\n' '\n';
* done
NGNG
csh, tcshはうんこ
158名無しさん@お腹いっぱい。
垢版 |
NGNG
バージョン 2.05bで、
コマンド ./bin/mycommand を補間しようとして、
./b のあとに補完すると、
./bin を補完してくれるのですが、
「n」のあとに余分なスペースを一つ入れられてしまいます。
期待しているのは
./bin/ と(スペースなしで)補完してくれることなんですが、
どう設定すればいいかご存知の方、
教えて下さい。
NGNG
zsh を使う
NGNG
>>158
そういう設定にしちゃってるんじゃない?
新しいアカウントでもそうなる?
setやcompleteの出力を確認してみてみ。
161名無しさん@お腹いっぱい。
垢版 |
NGNG
>>160
設定の問題ではなさそうで、
2.05aでは問題なしだった。
NGNG
うちじゃ 2.05b でも、たとえば ls ./b <tab> で ls ./bin/ になるよ。
コマンドに対して complete でなんか設定しているんじゃないの?
163名無しさん@お腹いっぱい。
垢版 |
NGNG
>>162
コマンドの引数じゃなくてコマンドそのものの補完の時。
というか公式パッチ確かめたら、出てました。
bash205b-003でした。
164名無しさん@お腹いっぱい。
垢版 |
NGNG
bash 3は{1..10}を展開するようになったんだね。
**/Makefileも展開して欲しいなあ。
NGNG
>>164
でも{01..10}は展開してくれないんだ…
よって価値無し(wgetでアレなことするには)。
NGNG
$ for i in `seq -w 1 10`;do wget http://www.example.com/fuck/porn/teen$i.wmv;done

seqがないシステムだとどうやって苧としてるの?>all

NGNG
>>166
man 1 curl
168166
垢版 |
NGNG
>>167

curlだとそんな芸当ができたのかorz
NGNG
seqがないシステムって多いの?
NGNG
>>166
まず、 1から255までの連続したファイル名を用意し
171名無しさん@お腹いっぱい。
垢版 |
NGNG
コマンドの実行結果って何で見れるんだっけ?
exit(x); とかのxの値のことね

$!だと思ったけどなんか違った
NGNG
manくらい読めよ。
$?な
NGNG
for ((i=0; i<20; i=i+1));do
wget http://www.hoge.com/`printf "%02d"`.jpg $i;
done
NGNG
あう...
for ((i=0; i<20; i=i+1));
do wget http://www.hoge.com/`printf "%02d\n" $i`.jpg;
done
NGNG
>>172
http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html
書いてないんだよね
Linuxはウンコなのかなぁ・・・
NGNG
>>175
http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html#lbAT
あるじゃん。

bash は Linux 専用じゃないよ。
NGNG
>>174
curl 'http://www.example.com/[00-19].jpg' -o '#1.jpg'
NGNG
perlは反則?
$ perl -e "('001'..'100'){s#(.*)#`wget http://www.hoge.com/$1.jpg`#e}"
NGNG
>>178 スレタイ読んでみれば。
NGNG
こっちでやろうよ。

連番のH画像を一気にダウンロードする
http://pc5.2ch.net/test/read.cgi/unix/979106537/
181名無しさん@お腹いっぱい。
垢版 |
NGNG

for i in *
do
done

ではエラーになってしまいます。
bashで空文はどうすればいいのでしょうか?
NGNG
>>181
for i in *
do
:
done
NGNG
bash-2.05b$ たまには
たまには補完スレらしく補完してみたり。 たまには糞スレを荒らしてみたり。
bash-2.05b$ たまには
184名無しさん@お腹いっぱい。
垢版 |
NGNG
$( < /etc/passwd ) と $( cat /etc/passwd )
は同じ事ですか?
アドバイスお願いします。
NGNG
>>184
違う
catという名前のrootにsetuidされたrmコマンドがパスの通ったところの最初にあったら怖いだろ
186名無しさん@お腹いっぱい。
垢版 |
NGNG
>>185
レスありがとうございます。
具体的には$( < /etc/passwd )の方が安全と言うことなのでしょうか?
いまいちつかめないのですが・・・
NGNG
全然違います。
188名無しさん@お腹いっぱい。
垢版 |
NGNG
ところで小数の計算ってどうやるの?
for(i=0.0;i<10.0;i=i+0.1){}みたいにしたいのに、やり方がさっぱりわからん。
どなたかやり方教えてください。
NGNG
>>188
10倍して整数で計算しようぜ
190名無しさん@お腹いっぱい。
垢版 |
NGNG
Cシェルでファイルを読み込む方法を教えて下さい。
NGNG
NGNG
>>190
set `cat hoge`
NGNG
>>190
あなたの想定している「ファイルを読み込む」を説明してください.
NGNG
>>188
整数部分と小数部分でダブルループにする
195188
垢版 |
NGNG
レスしてくれた人、ありがとうございます。
参考にさせていただきます。
196名無しさん@お腹いっぱい。
垢版 |
NGNG
>>192
>>192
神様へ。
レスありがとうございます。

何がやりたいかというとですねぇ・・・

Cシェルで、ある実行ファイルを実行したいときに、それに渡すためのパラメタを、
ファイルから読み込みたいということなんです。
イメージとして、

// イメージここから
#!/bin/csh

read init.ini // iniファイルを読み込む

Hoge $aaa // 実行ファイルHogeに対して、読み込んだinit.iniに記述している項目を$aaaに設定し、
// パラメタとして指定するということです。

// イメージここまで

NGNG
>>196
Hoge `cat init.ini`
05/01/18 18:03:46
aliasで外部アプリ起動時に引数を渡すには
スクリプトを書く以外に方法はありませんか?

alias hage='/d/program\ files/hage/hage.exe $* &'

みたいなaliasを登録したいんですけど。
05/01/21 19:38:31
i-searchで履歴を検索する時に大文字小文字を区別できませんか?
TABでmenu-completeに設定してるんですけど
*abc*<TAB>
等と入力するのが面倒なので
TABで先頭一致補完、Ctrl+TABでインクリメンタル補完にしたいんですけど
ワイルドカードを使わずにインクリメンタル補完する方法ってありますか?
05/01/21 19:40:27
うぁ読み難いですね。
質問したいことは二つあります。

1.i-searchで履歴を検索する時に大文字小文字を区別できませんか?

2.TABでmenu-completeに設定してるんですけど
*abc*<TAB>
等と入力するのが面倒なので
TABで先頭一致補完、Ctrl+TABでインクリメンタル補完にしたいんですけど
ワイルドカードを使わずにインクリメンタル補完する方法ってありますか?

よろしくお願いします。
05/01/21 19:41:43
度々すいません。訂正です。
うぁ読み難いですね。
質問したいことは二つあります。

1.i-searchで履歴を検索する時に大文字小文字を区別できませんか?

1.i-searchで履歴を検索する時に大文字小文字を区別しないようにできませんか?
202名無しさん@お腹いっぱい。
垢版 |
05/01/23 01:21:31
タブを押したとき、直前の単語に * が含まれていればマッチするもの全てに展開、
含まれていなければ候補を1つずつ回って行くという挙動にできますか?
05/01/23 10:23:22
>>202
zsh に乗り換える
05/01/23 11:01:14
展開うざくね?
205名無しさん@お腹いっぱい。
垢版 |
05/01/28 23:33:32
### で始まる文字列が来るまで
テキストを表示する
というスクリプトを書きたいんだけど
最も短く記述するには
なにがいいかな
05/01/28 23:39:05
>>205
bashとの関係は・・・
漏れならこんなの書きそうだが
gawk '/^###/{exit} {print $0}' ファイル名
05/01/29 00:20:58
sed -n -e '/^###/q' -e p
の方が短い
レスを投稿する