[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2ch.scのread.cgiへ]
Update time : 11/13 08:08 / Filesize : 88 KB / Number-of Response : 446
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

bashで補完スレ



1 名前:complete [02/02/07 03:16.net]
bash2で補完機能が強化されているようですが
皆さんいかがお過ごしでしょうか?

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
番号つけてソートしたら番号順にソートされて
つまりそれってソートされないんじゃ?

153 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/11 11:56.net]
>>152
番号以外の部分でソートするってことです。

154 名前:名無しさん@お腹いっぱい。 [04/05/11 12:21.net]
丁寧にソートするですね

そーっと


ウェーハッハッハ



155 名前:名無しさん@お腹いっぱい。 [04/05/11 12:23.net]
tcsh

156 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/11 17:18.net]
ソートしてみた。
視覚化になんと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


157 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/13 05:48.net]
csh, tcshはうんこ

158 名前:名無しさん@お腹いっぱい。 [04/06/09 00:40.net]
バージョン 2.05bで、
コマンド ./bin/mycommand を補間しようとして、
./b のあとに補完すると、
./bin を補完してくれるのですが、
「n」のあとに余分なスペースを一つ入れられてしまいます。
期待しているのは
./bin/ と(スペースなしで)補完してくれることなんですが、
どう設定すればいいかご存知の方、
教えて下さい。

159 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/09 01:43.net]
zsh を使う

160 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/14 02:44.net]
>>158
そういう設定にしちゃってるんじゃない?
新しいアカウントでもそうなる?
setやcompleteの出力を確認してみてみ。

161 名前:名無しさん@お腹いっぱい。 [04/06/16 03:08.net]
>>160
設定の問題ではなさそうで、
2.05aでは問題なしだった。


162 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/16 03:28.net]
うちじゃ 2.05b でも、たとえば ls ./b <tab> で ls ./bin/ になるよ。
コマンドに対して complete でなんか設定しているんじゃないの?


163 名前:名無しさん@お腹いっぱい。 [04/06/16 03:33.net]
>>162
コマンドの引数じゃなくてコマンドそのものの補完の時。
というか公式パッチ確かめたら、出てました。
bash205b-003でした。

164 名前:名無しさん@お腹いっぱい。 [04/07/29 22:01.net]
bash 3は{1..10}を展開するようになったんだね。
**/Makefileも展開して欲しいなあ。



165 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/30 00:06.net]
>>164
でも{01..10}は展開してくれないんだ…
よって価値無し(wgetでアレなことするには)。

166 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/30 11:24.net]
$ for i in `seq -w 1 10`;do wget www.example.com/fuck/porn/teen$i.wmv;done

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



167 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/30 11:42.net]
>>166
man 1 curl

168 名前:166 mailto:sage [04/07/30 11:49.net]
>>167

curlだとそんな芸当ができたのかorz


169 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/30 11:52.net]
seqがないシステムって多いの?

170 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/27 14:59.net]
>>166
まず、 1から255までの連続したファイル名を用意し

171 名前:名無しさん@お腹いっぱい。 [04/08/27 15:00.net]
コマンドの実行結果って何で見れるんだっけ?
exit(x); とかのxの値のことね

$!だと思ったけどなんか違った

172 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/27 15:49.net]
manくらい読めよ。
$?な

173 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/27 16:53.net]
for ((i=0; i<20; i=i+1));do
wget www.hoge.com/`printf "%02d"`.jpg $i;
done

174 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/27 16:55.net]
あう...
for ((i=0; i<20; i=i+1));
do wget www.hoge.com/`printf "%02d\n" $i`.jpg;
done



175 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/27 17:44.net]
>>172
www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html
書いてないんだよね
Linuxはウンコなのかなぁ・・・

176 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/27 18:29.net]
>>175
www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html#lbAT
あるじゃん。

bash は Linux 専用じゃないよ。

177 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/27 18:43.net]
>>174
curl 'www.example.com/[00-19].jpg' -o '#1.jpg'

178 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/08 16:22.net]
perlは反則?
$ perl -e "('001'..'100'){s#(.*)#`wget www.hoge.com/$1.jpg`#e}"

179 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/08 16:37.net]
>>178 スレタイ読んでみれば。

180 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/08 21:22.net]
こっちでやろうよ。

連番のH画像を一気にダウンロードする
pc5.2ch.net/test/read.cgi/unix/979106537/

181 名前:名無しさん@お腹いっぱい。 [04/09/16 23:17:08.net]

for i in *
do
done

ではエラーになってしまいます。
bashで空文はどうすればいいのでしょうか?

182 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/16 23:18:44.net]
>>181
for i in *
do
:
done


183 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/17 01:07:56.net]
bash-2.05b$ たまには
たまには補完スレらしく補完してみたり。 たまには糞スレを荒らしてみたり。
bash-2.05b$ たまには


184 名前:名無しさん@お腹いっぱい。 [04/09/19 22:09:56.net]
$( < /etc/passwd ) と $( cat /etc/passwd )
は同じ事ですか?
アドバイスお願いします。



185 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/19 22:24:29.net]
>>184
違う
catという名前のrootにsetuidされたrmコマンドがパスの通ったところの最初にあったら怖いだろ

186 名前:名無しさん@お腹いっぱい。 [04/09/19 22:49:57.net]
>>185
レスありがとうございます。
具体的には$( < /etc/passwd )の方が安全と言うことなのでしょうか?
いまいちつかめないのですが・・・

187 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/20 03:18:38.net]
全然違います。

188 名前:名無しさん@お腹いっぱい。 [04/09/21 23:12:43.net]
ところで小数の計算ってどうやるの?
for(i=0.0;i<10.0;i=i+0.1){}みたいにしたいのに、やり方がさっぱりわからん。
どなたかやり方教えてください。

189 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/21 23:53:31.net]
>>188
10倍して整数で計算しようぜ

190 名前:名無しさん@お腹いっぱい。 [04/09/22 00:29:58.net]
Cシェルでファイルを読み込む方法を教えて下さい。


191 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/22 00:51:09.net]


192 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/22 01:55:54.net]
>>190
set `cat hoge`

193 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/22 08:06:34.net]
>>190
あなたの想定している「ファイルを読み込む」を説明してください.

194 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/22 13:04:13.net]
>>188
整数部分と小数部分でダブルループにする



195 名前:188 mailto:sage [04/09/22 22:15:29.net]
レスしてくれた人、ありがとうございます。
参考にさせていただきます。

196 名前:名無しさん@お腹いっぱい。 [04/09/22 23:15:01.net]
>>192
>>192
神様へ。
レスありがとうございます。

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

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

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

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

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

// イメージここまで



197 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/23 09:41:02.net]
>>196
Hoge `cat init.ini`

198 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/18 18:03:46 .net]
aliasで外部アプリ起動時に引数を渡すには
スクリプトを書く以外に方法はありませんか?

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

みたいなaliasを登録したいんですけど。

199 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/21 19:38:31 .net]
i-searchで履歴を検索する時に大文字小文字を区別できませんか?
TABでmenu-completeに設定してるんですけど
*abc*<TAB>
等と入力するのが面倒なので
TABで先頭一致補完、Ctrl+TABでインクリメンタル補完にしたいんですけど
ワイルドカードを使わずにインクリメンタル補完する方法ってありますか?

200 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/21 19:40:27 .net]
うぁ読み難いですね。
質問したいことは二つあります。

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

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

よろしくお願いします。

201 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/21 19:41:43 .net]
度々すいません。訂正です。
うぁ読み難いですね。
質問したいことは二つあります。

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

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

202 名前:名無しさん@お腹いっぱい。 [05/01/23 01:21:31 .net]
タブを押したとき、直前の単語に * が含まれていればマッチするもの全てに展開、
含まれていなければ候補を1つずつ回って行くという挙動にできますか?


203 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/23 10:23:22 .net]
>>202
zsh に乗り換える

204 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/23 11:01:14 .net]
展開うざくね?



205 名前:名無しさん@お腹いっぱい。 [05/01/28 23:33:32 .net]
### で始まる文字列が来るまで
テキストを表示する
というスクリプトを書きたいんだけど
最も短く記述するには
なにがいいかな

206 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/28 23:39:05 .net]
>>205
bashとの関係は・・・
漏れならこんなの書きそうだが
gawk '/^###/{exit} {print $0}' ファイル名


207 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/29 00:20:58 .net]
sed -n -e '/^###/q' -e p
の方が短い

208 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/29 00:59:33 .net]
i-searchで履歴を検索する時に大文字小文字を区別しないようにできませんか?

209 名前:名無しさん@お腹いっぱい。 [05/02/16 23:13:21 .net]
ヒアドキュメント内で痴漢したいんですけど、どうしたらいいですか?
こんな感じで使いたいですが

name="usagi"
cat > tmp.txt <<'SAILORMOON'
tsukino $name
SAILORMOON

210 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/17 09:51:42 .net]
>>209
パラメータ展開したいんなら、
終了文字列をクォートしちゃいかん。

name="usagi"
cat > tmp.txt << SAILORMOON
tsukino $name
SAILORMOON

あと、bash補完の話題じゃないので、シェルスクリプトスレに書いてくれ。

211 名前:名無しさん@お腹いっぱい。 [05/02/17 13:16:48 .net]
>>210
それだと
tsukino usagi
にならず
tsukino $name
のままなんですよ

あと、続きはシェルスクリプトスレを探してみます

212 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/17 13:37:17 .net]
>>211
んなこたぁない。

cat > tmp.txt << 'SAILORMOON'

を、↓

cat > tmp.txt << SAILORMOON

にしてもう一回やってみろ。
(どこが違ってるかわかってる?)

ちゃんと、
tsukino usagi
と表示されるよ。

213 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/17 15:17:40 .net]
できtらー!ありがとー!

214 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/18 00:30:45 .net]
Windowsのコマンドプロンプトのように
ファイル名やパス名を補完した結果の文字列を
ダブルクォートで囲むようにしたいのですが、
どうしたらよいでしょうか?

cd My<tab>
    ↓
cd "My Documents"


completeコマンドでprefix,suffixにダブルクォートを指定しても
うまくいきません・・・





215 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 16:56:40 .net]
zshなら勝手になる

216 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 17:30:42 .net]
>>214
cd "My<tab>
じゃあダメかね?

217 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/21 22:37:05 .net]
>>214
cd My¥ Documents となると思ふけど,それぢゃ具合悪くって?

218 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/21 22:59:57 .net]
レスどうもー。

>>215
できればbashでやりたいな、と。

>>216
その"を打つのが面倒なので補完したいのです・・・。

>>217
具合悪いです・・・。
cygwinからwinアプリを起動する時の引数として
それだとうまくいかないんですよねぇ。

219 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/22 02:30:35 .net]
フォルダ名変えちまえ

220 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/22 02:47:09 .net]
function qwinpath { cygpath -mal "$@" | while read; do f=${REPLY//\//\\}; echo \"$f\"; done }
function amp { winamp $(qwinpath "$@" ) & }

cygwinスレでwinampにスペースを含むパスを送りたいから助けてくれと書き込んだ時に教えてもらった。

>cygwinからwinアプリを起動する時の引数
を用意してくれる。



221 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/25 20:42:15 .net]
>>220
ありがとうございます。
しかし、思ったような動作はしませんでした。
うまい方法はないようですね。
bashを直接いじることにします。

222 名前:名無しさん@お腹いっぱい。 [05/03/12 22:46:10 .net]
A.txt というファイルに、

AAA='/home/user/sample.conf'

と書かれている行があって、これの引数部分を変数に代入するのに

PARA=`sed -ne "s/^AAA.*'\(.*\)'/\1/p" A.txt`

とやると一応、値の後ろに一文字空白がくっついてしまいます。
これを取るにはどうすれば良いのでしょうか。

223 名前:名無しさん@お腹いっぱい。 mailto:sage [05/03/12 23:51:21 .net]
>>222
PARA=`sed -ne "s/^AAA.*'\(.*\)' */\1/p" A.txt`

224 名前:名無しさん@お腹いっぱい。 mailto:sage [05/03/13 00:13:47 .net]
>>223
bash か sed か、どちらのミスなのか迷ってたのですが、
sedの方でしたか。
上手く行きました!ありがとうございます。



225 名前:名無しさん@お腹いっぱい。 [05/03/17 14:44:29 .net]
sedでカンマの前に値が入ってなかったらnullという文字列を入れる処理を作っているのですが
どうもうまくいきません。
実際に打ち込んでるコマンドは
sed 's/,[:space:]*,/,null,/g' < a > b

aのファイルには
a,b,,d,e,f,,
,,,,,,,,,,
となっています。

すみませんが誰かご教授お願いします。

226 名前:名無しさん@お腹いっぱい。 mailto:sage [05/03/17 15:25:05 .net]
期待している出力例がわかりまへん。






[ 続きを読む ] / [ 携帯版 ]

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

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