bashで補完スレ

1complete
垢版 |
NGNG
bash2で補完機能が強化されているようですが
皆さんいかがお過ごしでしょうか?
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
の方が短い
05/01/29 00:59:33
i-searchで履歴を検索する時に大文字小文字を区別しないようにできませんか?
209名無しさん@お腹いっぱい。
垢版 |
05/02/16 23:13:21
ヒアドキュメント内で痴漢したいんですけど、どうしたらいいですか?
こんな感じで使いたいですが

name="usagi"
cat > tmp.txt <<'SAILORMOON'
tsukino $name
SAILORMOON
05/02/17 09:51:42
>>209
パラメータ展開したいんなら、
終了文字列をクォートしちゃいかん。

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

あと、bash補完の話題じゃないので、シェルスクリプトスレに書いてくれ。
211名無しさん@お腹いっぱい。
垢版 |
05/02/17 13:16:48
>>210
それだと
tsukino usagi
にならず
tsukino $name
のままなんですよ

あと、続きはシェルスクリプトスレを探してみます
05/02/17 13:37:17
>>211
んなこたぁない。

cat > tmp.txt << 'SAILORMOON'

を、↓

cat > tmp.txt << SAILORMOON

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

ちゃんと、
tsukino usagi
と表示されるよ。
05/02/17 15:17:40
できtらー!ありがとー!
05/02/18 00:30:45
Windowsのコマンドプロンプトのように
ファイル名やパス名を補完した結果の文字列を
ダブルクォートで囲むようにしたいのですが、
どうしたらよいでしょうか?

cd My<tab>
    ↓
cd "My Documents"


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

05/02/20 16:56:40
zshなら勝手になる
05/02/20 17:30:42
>>214
cd "My<tab>
じゃあダメかね?
05/02/21 22:37:05
>>214
cd My¥ Documents となると思ふけど,それぢゃ具合悪くって?
05/02/21 22:59:57
レスどうもー。

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

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

>>217
具合悪いです・・・。
cygwinからwinアプリを起動する時の引数として
それだとうまくいかないんですよねぇ。
05/02/22 02:30:35
フォルダ名変えちまえ
05/02/22 02:47:09
function qwinpath { cygpath -mal "$@" | while read; do f=${REPLY//\//\\}; echo \"$f\"; done }
function amp { winamp $(qwinpath "$@" ) & }

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

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

05/02/25 20:42:15
>>220
ありがとうございます。
しかし、思ったような動作はしませんでした。
うまい方法はないようですね。
bashを直接いじることにします。
222名無しさん@お腹いっぱい。
垢版 |
05/03/12 22:46:10
A.txt というファイルに、

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

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

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

とやると一応、値の後ろに一文字空白がくっついてしまいます。
これを取るにはどうすれば良いのでしょうか。
05/03/12 23:51:21
>>222
PARA=`sed -ne "s/^AAA.*'\(.*\)' */\1/p" A.txt`
05/03/13 00:13:47
>>223
bash か sed か、どちらのミスなのか迷ってたのですが、
sedの方でしたか。
上手く行きました!ありがとうございます。
225名無しさん@お腹いっぱい。
垢版 |
05/03/17 14:44:29
sedでカンマの前に値が入ってなかったらnullという文字列を入れる処理を作っているのですが
どうもうまくいきません。
実際に打ち込んでるコマンドは
sed 's/,[:space:]*,/,null,/g' < a > b

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

すみませんが誰かご教授お願いします。
05/03/17 15:25:05
期待している出力例がわかりまへん。
227225
垢版 |
05/03/17 16:04:49
すいません
期待してる出力例は
225にあるaのファイルを
a,b,null,d,e,f,null,null
null,null,null,null,null,null,null,null,null,null,null
としてb出力するようになるようにしたいです。

申し訳ありません。
05/03/17 16:39:10
>>225
あまりきれいじゃないが:
sed -e 's/.*/,&,/' -e ':1' -e 's/,[[:space:]]*,/,null,/' -e 't 1' -e 's/,\(.*\),/\1/'
229225
垢版 |
05/03/17 16:45:45
>>228
まだ、駆け出しですが是非参考にさせてもらいます。
本当にありがとうございます。

sage忘れすいません。
2005/03/21(月) 18:01:04
$ cd // && pwd
裏面に行けるズラ
2005/03/21(月) 18:13:26
$ cd / && pwd
/
$ cd // && pwd
//
$ cd /// && pwd
/

裏面キター
2005/03/21(月) 18:33:02
ls //bin
2005/03/21(月) 18:35:58
[root@hoge /]$ find ./ -name //
[root@hoge /]$

[root@hoge /]$ mkdir /
mkdir: ディレクトリ `//' を作成できません: ファイルが存在します

[root@hoge /]$ touch //
touch: `//' のタイムスタンプを設定中: 許可がありません

[root@hoge /]$ cd //
[root@hoge //]$


('A')....w
rm ーfr //
はこわいからできない。
2005/03/21(月) 18:47:34
ごめんうそついた。
ほんとは一般ユーザでやった


ノシ
2005/03/21(月) 19:19:11
ダブった / はカウントされないだけ
2005/03/21(月) 19:46:39
>>231 みたいに一貫性がないのは、実害はないけどバグでしょ。
2005/03/21(月) 21:50:28
>>236
仕様。
http://www.faqs.org/faqs/unix-faq/shell/bash/
の E10
2005/03/21(月) 22:45:22
仕様という名のバグだろ。

Q.□ボタンが凹むのですが
A.仕様です

アホか
2005/03/21(月) 23:28:17
>>238
>>237 のリンク先読んだ?
意図てきにそうしてあるよ。
2005/03/21(月) 23:39:04
> This is, I presume, for historical compatibility. Certain versions of
> Unix, and early network file systems, used paths of the form
> //hostname/path to access `path' on server `hostname'.
み、見たことねぇ……(;´Д`)
2005/04/04(月) 11:46:01
bashdbって使ったことありますか?
簡単なステップ実行できますね。
2005/04/04(月) 14:12:45
>>241
もっと詳しく
2005/04/04(月) 14:22:16
>>242
こんな感じ。
Administrator[ 2:22PM]% bashdb a.sh M-SAKAI1:~
Bash Debugger version 1.2.4
Reading source from file: a.sh
Stopped at line 3
a.sh:3 >ls
bashdb> ?
bashdb commands:
break N set breakpoint at line N
break list breakpoints & break condition
condition foo set break condition to foo
condition clear break condition
delete N clear breakpoint at line N
delete clear all breakpoints
display EXP evaluate and display EXP for each debug step
display show a list of display expressions
undisplay N remove display expression N
list N M display all lines of script between N and M
list N display 5 lines of script either side of line N
list display 5 lines if script either side of current line
continue continue execution upto next breakpoint
next [N] execute [N] statements (default 1)
print expr prints the value of an expression
trace toggle execution trace on/off
ftrace [-u] func make the debugger step into function FUNC
(-u turns off tracing FUNC)
help print this menu
! string passes string to a shell
quit quit
2005/04/04(月) 14:35:38
>>243
すばらしそうだな
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況