2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

シェルスクリプト総合 その16

1 :名無しさん@お腹いっぱい。:2010/02/20(土) 14:10:05
シェルスクリプトの総合スレです。 
スクリプトのお勉強・自慢・腕試しなどにどうぞ。 
まずは注意点、リンク、地鎮祭など(>>1-6くらい)をご覧ください。 

□お約束 
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。 
 bash/zsh/ksh/ashなどに依存する場合は明示しましょう。 
 Linuxユーザは/bin/shの正体がbashなので特に注意。 
 FreeBSDユーザは/bin/shの正体がashなので注意。 
 v7 shに一番近くて、現役のshは、OpenSolaris由来のheirloom sh。 
  http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/sh/ 
  http://heirloom.sourceforge.net/sh.html 
・csh/tcshのシェルスクリプトは推奨されません。 
 (理由は「csh-whynot」でググれ) 
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。 
 manや参考リンクを見ましょう。 
 aproposないしはman -kでそれらしい単語による簡単な検索もできます。 
・シェルスクリプトのことをシェルってゆーな 
・シェルで使えるワイルドカード等は正規表現ではありません。 
 正規表現の話題はスレ違い(正規表現スレへ) 

□初心者へのアドバイス: 
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも 
 RubyやPerlの方が適した仕事には素直にそちらを使いましょう。 
・知らないコマンドが出てきたらmanを引きましょう。 
・思い通りに動かないときは、まずは sh -x でトレースしましょう。 

前スレ 
シェルスクリプト総合 その15
http://pc12.2ch.net/test/read.cgi/unix/1246408968/l50

2 :名無しさん@お腹いっぱい。:2010/02/20(土) 14:10:58
□関連スレ: 
sed 
http://pc12.2ch.net/test/read.cgi/unix/1085730992/ 
正規表現 
http://pc12.2ch.net/test/read.cgi/unix/1039165754/ 
おまえら! shell は何を使っているんですか? 
http://pc12.2ch.net/test/read.cgi/unix/1012330865/ 
Eshell の使い方とか設定とか【Emacs Shell、Lisp】 
http://pc12.2ch.net/test/read.cgi/unix/1102921590/ 

□初心者向けリンク 
「誰にでも」シリーズ 
ttp://kanji.zinbun.kyoto-u.ac.jp/~yasuoka/publications/dareUni/ 
/bin/shプログラミング入門 
ttp://freebooks.info.nara-k.ac.jp/archive/ShellProgramming/ 
シェルを使おう - 導入からプログラミングまで - 
ttp://www.netfort.gr.jp/~tomokuni/lms/shell/text/ 

□入門者向け書籍: 
プロフェショナルシェルプログラミング 
http://www.amazon.co.jp/exec/obidos/ASIN/4756116329/ 
入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界 
http://www.amazon.co.jp/exec/obidos/ASIN/4797321946/ 
UNIXシェルプログラミング徹底解説 
http://www.amazon.co.jp/exec/obidos/ASIN/4822280489/ 
入門Kornシェル 
http://www.amazon.co.jp/exec/obidos/ASIN/4873110149/ 
入門bash 
http://www.amazon.co.jp/exec/obidos/ASIN/4900900788/ 

3 :名無しさん@お腹いっぱい。:2010/02/20(土) 14:12:03
□参考リンク: 
UNIXの部屋 (沢山のコマンドの簡単な紹介など) 
http://x68000.q-e-d.net/~68user/unix/ 
POSIX: Shell & Utilities (標準規格) 
http://www.opengroup.org/onlinepubs/009695399/utilities/contents.html 

□最近のシェルスクリプト本(1) 

(2004/03) UNIXシェルスクリプトハンドブック 関根 達夫 (著) 
http://amazon.co.jp/o/ASIN/4797326522/ 
(2004/10) UNIXシェルスクリプト逆引き大全333の極意 中橋 一朗 (著) 
http://amazon.co.jp/o/ASIN/4798008842/ 
(2004/11) 仕事に使えるLinuxシェルスクリプト 千葉 真人 (著) 
http://amazon.co.jp/o/ASIN/4822282090/ 
(2004/12) UNIXシェルスクリプトサンプルブック デイブ・テイラー (著) 
http://amazon.co.jp/o/ASIN/4797327286/ 
(2005/02) シェルスクリプト基本リファレンス 山森 丈範 (著) 
http://amazon.co.jp/o/ASIN/4774122610/ 
(2005/04) LinuxWorldスクリプト 月刊リナックス・ワールド総集編 月刊LinuxWorld特別 (著) 
http://amazon.co.jp/o/ASIN/4872802349/ 
(2005/05) UNIXシェルスクリプトコマンドブック 山下 哲典 (著) 
http://amazon.co.jp/o/ASIN/4797330635/ 
(2005/05) わかる&使える UNIX基礎講座 シェルスクリプト編 中井 獏 (著) 
http://amazon.co.jp/o/ASIN/4774123625/ 

4 :名無しさん@お腹いっぱい。:2010/02/20(土) 14:12:54
□最近のシェルスクリプト本(2) 
(2005/07) UNIX シェルスクリプト辞典 川井 義治 (著) 
http://amazon.co.jp/o/ASIN/4798109231/ 
(2005/08) シェルスクリプト ポケットリファレンス bash編 宮原 徹 (著), 川原 龍人 (著) 
http://www.amazon.co.jp/o/ASIN/4774124818/ 
(2005/12) 図解でわかるLinuxシェルスクリプト・正規表現 小泉 修 (著) 
http://www.amazon.co.jp/o/ASIN/4534040067/ 
(2006/01)詳解 シェルスクリプト アーノルド ロビンス (著), ネルソン・H.F. ベーブ(著), Arnold Robbins (原著), Nelson H.F. Beebe (原著), 日向 あおい (翻訳) 
http://www.amazon.co.jp/o/ASIN/4873112672/ 
(2007/3) Linuxシェルスクリプトユーザー便利帳―bash2/bash3対応 伊藤 幸夫 (著), 寒川 陽美(著) 
http://www.amazon.co.jp/o/ASIN/4798015954/ 
(2007/9) ゲームで極める シェルスクリプトスーパーテクニック 山森 丈範 
http://www.amazon.co.jp/o/ASIN/4774132020/ 
(2007/10) UNIX/Linuxシェルスクリプトマスタリングハンドブック 野川 准子 
http://www.amazon.co.jp/o/ASIN/4798017957/ 

5 :名無しさん@お腹いっぱい。:2010/02/20(土) 14:13:05
シェルブリットはいいからゴチックメイドはどうなったんだよ

6 :名無しさん@お腹いっぱい。:2010/02/20(土) 14:13:36
□関連書籍と関連リンク: 
FreeBSD Hypertext Man Pages 
http://www.freebsd.org/cgi/man.cgi 
Linux JF (Japanese FAQ) Project. 
http://www.linux.or.jp/JF/ 
Unix Programming Frequently Asked Questions 日本語訳 
http://www.adl.nii.ac.jp/~moro/unix-programmer/faq-j_toc.html 
UNIXプログラミング環境 
http://www.amazon.co.jp/exec/obidos/ASIN/4871483517/ 

□人間初心者へのお願い: 
・このスレはシェルスクリプトについてのスレです。 
 シェルの対話的な利用についての話やスクリプトと関係ないコマンドの 
 使い方の質問などはスレ違いなので無用に願います。 

□シェルスクリプトでよく使うコマンド: 
制御・条件判定系: [,test,expr,true,false,yes,getopts 
テキスト処理系: cat,awk,sed,tr,sort,uniq,grep,wc,head,tail,cut,paste,comm,join 
ファイル検索系: find 
(スペースなどを含むファイル名を正しく処理するため、 
findは -exec command {} + を推奨。 
他に -print0、xargsは -0オプションという方法もあるがSolaris非対応) 
ディレクトリ系: basename,dirname 
出力系: echo,printf 
対話コマンド制御系: expect 
http/ftpの処理自動化: wget,curl 

7 :名無しさん@お腹いっぱい。:2010/02/20(土) 14:35:44
以下の結果を出力するシェルを,bashスクリプトで書け.
(基本仕様)
・コマンドとして実行できる.(シェルコマンドである.)
・ユーザーが10000以上99999以下の5桁の数字を入力する.
・その数字を7で割って1余り,かつ13で割って2余った場合は Daikichiと表示する.
・それ以外で,13で割って2余った場合は Chuukichiと表示する.
・それ以外で,7で割って1余った場合は Shoukichiと表示する.
・それ以外の場合は Hazureと表示する.
・入力した文字が10000以上99999以下の数字以外の場合はエラーメッセージを表示する.
・できる人は,コマンドライン引数でDaikichiなどの文字を変更できるようにする.
(ポイント)
☆シェルコマンドにするには,スクリプトの最初に(#!で始まる)おまじないを書く.
☆標準入力から文字列を入力するには read を用いる.
☆コマンドラインの引数は,$@に格納されている.(その要素は $1 $2 ...)
☆四則演算には $(( )) コマンドが使用できる.(ただし,整数しか扱えない.)


誰かわかるひとお願いします

8 :名無しさん@お腹いっぱい。:2010/02/20(土) 15:50:45
>>7
csh じゃないんだなw
シェルスクリプトの事をシェルと書くと怒る人が居るので気をつけた方が良いぜ。
↓これをファイルに保存して、実行するとお望みのスクリプトが出力される筈だ。

#!/bin/zsh

echo '#!/bin/bash

while read i
do
case ${i} in'
for i in {10000..99999};
do echo -n "${i}) ";
if [ 2 -eq `echo ${i} % 13 | bc` -a 1 -eq `echo ${i} % 7 | bc` ];
then echo "echo Daikichi;;"; elif [ 2 -eq `echo ${i} % 13 | bc` ];
then echo "echo Chuukichi;;"; elif [ 1 -eq `echo ${i} % 7 | bc` ];
then echo "echo Shoukichi;;"; else echo "echo Hazure;;"; fi; done

echo 'esac
done'

9 :名無しさん@お腹いっぱい。:2010/02/20(土) 17:18:45
>>7
宿題は自分でやれ。

10 :名無しさん@お腹いっぱい。:2010/02/20(土) 17:45:49
>>8
行数が10万行近くあって、レポート用紙が何枚あっても足りません><

11 :名無しさん@お腹いっぱい。:2010/02/22(月) 01:05:10
>>7 はマルチだから。

12 :名無しさん@お腹いっぱい。:2010/02/22(月) 16:15:20
#!/bin/bash
read a
if [[ "$a" -lt 10000 || "$a" -gt 99999 ]]
then
echo 'Error'
exit
fi
x=$((a % 7))
case "$x" in
1)
x=$((a % 13))
if [ "$x" -eq 2 ]
then
echo 'Daikichi'
else
echo 'Shoukichi'
fi
;;
*)
x=$((a % 13))
if [ "$x" -eq 2 ]
then
echo 'Chuukichi'
else
echo 'Hazure'
fi
;;
esac

13 :名無しさん@お腹いっぱい。:2010/02/22(月) 20:54:25
>>12
read a のところで aを入力すると、誤動作するようですが・・

14 :名無しさん@お腹いっぱい。:2010/02/22(月) 21:34:43
# read a の次にこれを追加すれば解決。
echo "$a" | grep '^[[:digit:]]....$' >/dev/null 2>&1
if [ $? -ne 0 ]
then
echo 'Error'
exit 1
fi

15 :名無しさん@お腹いっぱい。:2010/02/22(月) 21:39:42
# 失礼。09999とかの判定を忘れてた。
# grepのパターンはこっちのほうが良い。
echo "$a" | grep '^[[^0][:digit:]]....$' >/dev/null 2>&1
if [ "$?" -ne 0 ]
then
echo 'Error'
exit 1
fi

16 :名無しさん@お腹いっぱい。:2010/02/23(火) 01:07:12
>>12
jkl.sh: Command not found.

ワザワザbashをインスコしなきゃ、UNIXじゃ使えないじゃん。

17 :名無しさん@お腹いっぱい。:2010/02/23(火) 07:34:27
今時の「UNIX」はbashが標準で付いてるから無問題

18 :名無しさん@お腹いっぱい。:2010/02/23(火) 14:34:21
セツ子、それUNIXちゃう。犬糞や。

19 :名無しさん@お腹いっぱい。:2010/02/23(火) 14:52:34
いや、Linuxじゃなくて、今時のUNIXはbashが標準で付いてるという話をしてるんだが

20 :名無しさん@お腹いっぱい。:2010/02/23(火) 15:34:49
AIXとかHP-UXってbash標準なの?


21 :名無しさん@お腹いっぱい。:2010/02/23(火) 15:48:25
>>19
の言う今時のUNIXはやっぱLinuxなんだよな

22 :名無しさん@お腹いっぱい。:2010/02/23(火) 16:24:16
だれもLinuxの話なんかしてないよ

で、ちょっと前だとbashはLinuxのものとして叩けたけど、
今はUNIXでもbashが標準になっちゃったから、その線では叩けなくなったんだよ。

23 :名無しさん@お腹いっぱい。:2010/02/23(火) 16:48:16
>>22
だからそのUNIXって何だよ(w

ぱちょこんウニックスか?
なんとかベーエスデーか?


24 :名無しさん@お腹いっぱい。:2010/02/23(火) 19:01:47
ここで華麗に PDP7 と 7th edition が登場

25 :名無しさん@お腹いっぱい。:2010/02/23(火) 23:38:31
OS Xならついてくるが標準でbashが起動するかどうか忘れた

26 :名無しさん@お腹いっぱい。:2010/02/24(水) 00:27:15
>>25
Tigerあたりからbashが標準。

27 :名無しさん@お腹いっぱい。:2010/02/24(水) 00:33:37
AIX 5Lまでは、kshが標準
bashはオプション
6.1は知らん

28 :名無しさん@お腹いっぱい。:2010/02/24(水) 01:41:34
>>20
無いよ。

>>23
*BSDにも無い。

Mac OS Xは全然UNIXとは程遠い。
kernelにFreeBSDが使われてるってだけ。
Solarisでも/opt扱いだったな。

29 :名無しさん@お腹いっぱい。:2010/02/24(水) 02:27:31
>Mac OS Xは全然UNIXとは程遠い。
>kernelにFreeBSDが使われてるってだけ。
??????

30 :名無しさん@お腹いっぱい。:2010/02/24(水) 02:30:29
ちょっと釣り針がでか過ぎるんじゃないか?

31 :名無しさん@お腹いっぱい。:2010/02/24(水) 02:37:35
へえ釣りなんだw

32 :名無しさん@お腹いっぱい。:2010/02/24(水) 04:54:25
あぁ、伝説のUNI+よ。。。

33 :名無しさん@お腹いっぱい。:2010/02/24(水) 06:55:36
>>28
おいおい、*BSDはUNIXじゃないよw

あと、今のSolarisではbashは必須扱い。

34 :名無しさん@お腹いっぱい。:2010/02/24(水) 07:04:41
>>28
Solarisのbashは、/optじゃなくて、/usr/bin/bash。
しかも、symlinkじゃなくて、/usr/bin/bashにバイナリ本体がある。
SUNWbashに入ってる。

35 :名無しさん@お腹いっぱい。:2010/02/24(水) 08:20:19
ここ何のスレ?

36 :名無しさん@お腹いっぱい。:2010/02/24(水) 09:37:59
まとめると
>>19
「今時のUNIX」はLinuxと決定されました。

37 :名無しさん@お腹いっぱい。:2010/02/24(水) 09:41:33
>>36
LinuxはUNIXじゃないよ。*BSDもUNIXじゃないよ。

「今時のUNIX」は主にSolarisとかのこと。

Solaris10 -> bash標準
OpenSolaris -> bash必須

38 :名無しさん@お腹いっぱい。:2010/02/24(水) 09:50:50
>>28
> Mac OS Xは全然UNIXとは程遠い。
UNIX認証を得てるので名はUNIX。
ユーザランドはFreeBSDベースに作られたDarwinなので、実も伝統的なu**x

> kernelにFreeBSDが使われてるってだけ。
kernelはMach

>>37
>LinuxはUNIXじゃないよ。
分かった上で言ってるんだと思うよ。

39 :名無しさん@お腹いっぱい。:2010/02/24(水) 11:29:55
>>37
主にだったら他に何があるの?

主も糞もSolarisのみの話なら、今時のUNIXという
括りは間違ってるんだが

40 :名無しさん@お腹いっぱい。:2010/02/24(水) 14:37:00
>>37
OpenSolarisもUNIXじゃないよ。

41 :名無しさん@お腹いっぱい。:2010/02/24(水) 16:01:46
なんとかLinuxを正当化しようと今時のUNIX
なんて書いてみたものの、結局Solarisしかなくて

やっぱり今時のUNIX=Linuxに戻ってしまうという循環

42 :名無しさん@お腹いっぱい。:2010/02/24(水) 16:03:13
だから、LinuxはUNIXじゃないって、、

43 :名無しさん@お腹いっぱい。:2010/02/24(水) 18:28:06
>>24
第7版はPDP11です、とセルフつっこみ

44 :名無しさん@お腹いっぱい。:2010/02/24(水) 21:26:34
>>12 って、bash独自なところは一つもないじゃん。
/bin/shに変更しても「今時のUNIX」ならすべて動く。

それはそうと、>>12 は無駄が多い記述だな、もうちょっと簡単に書ける。

45 :名無しさん@お腹いっぱい。:2010/02/24(水) 21:40:54
>>44
うちの freebsd (/bin/sh = ash) と debian (/bin/sh = dash) では動きませんでした。
まあ、どっちも今どきの UNIX じゃないけど。
# ksh で拡張された機能が必要


46 :名無しさん@お腹いっぱい。:2010/02/24(水) 23:06:02
>>45
FreeBSDはUNIXじゃありません。

今、話をしてるのは「UNIX」だけです。

47 :名無しさん@お腹いっぱい。:2010/02/24(水) 23:33:26
OpenSolarisとか言ってるからUNIXじゃなくてもいいんだろ

48 :名無しさん@お腹いっぱい。:2010/02/24(水) 23:36:02
>>46
おまえのいう「UNIX」の定義を述べよ。

49 :名無しさん@お腹いっぱい。:2010/02/24(水) 23:53:32
UNIXかUNIXじゃないかってそんなに大事なことなの?

50 :名無しさん@お腹いっぱい。:2010/02/25(木) 01:27:11
OS XもUNIXでつ

51 :名無しさん@お腹いっぱい。:2010/02/25(木) 10:33:42
>>49
今時のUNIXと言い放ったバカと
それを受けとめる人間には重要

52 :名無しさん@お腹いっぱい。:2010/02/25(木) 10:35:17
なんで重要なんだろう。

53 :名無しさん@お腹いっぱい。:2010/02/25(木) 11:07:28
そんなに疑問に思うことなの?

54 :名無しさん@お腹いっぱい。:2010/02/25(木) 11:08:53
うん。

55 :名無しさん@お腹いっぱい。:2010/02/25(木) 14:58:09
改めて定義を聞かれて慌てているの図

56 :名無しさん@お腹いっぱい。:2010/02/25(木) 19:35:24
とりあえずわからないから
UNIXの定義は来世紀への課題と致します

57 :名無しさん@お腹いっぱい。:2010/02/25(木) 20:24:31
以下の結果を出力するスクリプトを,UNIXシェルで書け.
(基本仕様)
・コマンドとして実行できる.(UNIXシェルである.)
・コマンドラインの第1引数で数字を指定する.
・第1引数が数字以外だった場合はエラーメッセージを表示する.
・第1引数の数字以下の自然数のうち,素数をすべて見つけてリスト表示する.
・すべてUNIXシェル内部で処理し,外部コマンドは呼び出さないこと.
(ポイント)
☆UNIXシェルにするには,ファイルの最初に #!/bin/bashというおまじないを書く.
☆コマンドラインの第1引数は,$1に格納されている.
☆四則演算には $(( )) コマンドが使用できる.(ただし,整数しか扱えない.)


誰かわかるひとお願いします

58 :名無しさん@お腹いっぱい。:2010/02/25(木) 20:28:21
オウ、デジャブー

59 :名無しさん@お腹いっぱい。:2010/02/25(木) 21:37:45
#!/bin/sh
/usr/games/primes 1 "$1"


60 :名無しさん@お腹いっぱい。:2010/02/25(木) 22:23:21
>>57
『UNIXシェルである』という表現は有効なの?

61 :名無しさん@お腹いっぱい。:2010/02/25(木) 22:46:26
前スレでマルチしてた人でしょ。
相手しちゃだめだよ。

62 :名無しさん@お腹いっぱい。:2010/02/26(金) 06:56:02
>>59
>>57
>・すべてUNIXシェル内部で処理し,外部コマンドは呼び出さないこと.

63 :名無しさん@お腹いっぱい。:2010/02/26(金) 09:20:17
>>57
その頭の悪そうな問題書く人は駆け出しの厨房?
もし師と仰いでるなら、即刻師匠を変えた方が良い

64 :名無しさん@お腹いっぱい。:2010/02/26(金) 20:51:03
# bashでやる意味のない問題だと思うが。
# 問題自体は難しくないのだが・・・
#!/bin/bash
echo "$1" | grep '^[[:digit:]][[:digit:]]*$' >/dev/null 2>&1
if [[ "$?" -ne 0 || "$1" -lt 2 ]]
then
echo 'Error'
exit 1
fi

for ((i=2;i<="$1";i++)) {
if [ $((i % 2)) -eq 0 ]
then
echo "$i"
fi
}

65 :名無しさん@お腹いっぱい。:2010/02/26(金) 20:54:41
>>64
偶数を表示してどうするw

>>57
>素数

66 :64:2010/02/26(金) 20:55:01
失礼、書きかけのやつをカキコしちまった。
粗相。

67 :名無しさん@お腹いっぱい。:2010/02/26(金) 20:57:40
「すべてUNIXシェル内部で処理し,..」だから、
grepも使っちゃ駄目だそうですよ

68 :名無しさん@お腹いっぱい。:2010/02/26(金) 20:57:53
ってゆうか、微妙に長すぎてカキコめない・・・

早い話、素数かどうかわかれば良いだけなら
判定対象の数値をそれより小さい数値全てで割り算してみればいいだけ。
ようするにループで回せばいいだけ。

69 :名無しさん@お腹いっぱい。:2010/02/26(金) 21:04:22
肝要部分だけ書くと、
↓だろ。全然長くないよ。

#!/bin/bash
for ((i = 2; i <= $1; i++)) {
for ((j = 2; j < i; j++)) {
if ((i % j == 0)); then
continue 2
fi
}
echo $i
}

70 :名無しさん@お腹いっぱい。:2010/02/26(金) 21:18:53
以下の結果を出力するスクリプトを,UNIXシェルで書け.
(基本仕様)
・コマンドとして実行できる.(UNIXシェルである.)
・コマンドラインの第1引数で人間の手番(○側か×側か)を指定する.
・人間とコンピュータが対戦するようにする.
・3x3マスのマルバツゲームのボードを作成する.
・○側と×側が交互に2次元座標上の位置を入力する.
・入力後、毎回ボードを表示する.
・たて、よこ、斜めのいずれかに○か×が3つ並んだ時点でプログラムを終了する.
・すべてUNIXシェル内部で処理し,外部コマンドは呼び出さないこと.
(ポイント)
☆UNIXシェルにするには,ファイルの最初に #!/bin/bashというおまじないを書く.
☆コマンドラインの第1引数は,$1に格納されている.
☆四則演算には $(( )) コマンドが使用できる.(ただし,整数しか扱えない.)


誰かわかるひとお願いします

71 :名無しさん@お腹いっぱい。:2010/02/26(金) 21:19:32
すっかり糞スレになったな

72 :名無しさん@お腹いっぱい。:2010/02/26(金) 22:48:25
以下の結果を出力するスクリプトを,UNIXシェルで書け.
(基本仕様)
・コマンドとして実行できる.(UNIXシェルである.)
・主人公、妹1名、両親、自分の友人数名(うち最低1名は女性、半数以上は男性とする)、妹の友人(女性)数名が登場する.
・主人公、妹、自分の友人、妹の友人はいずれも生徒もしくは学生とする.
・両親のうち、父は総合商社勤務のサラリーマン、母は専業主婦とする.
・主人公の言動やイベントの発生にともない、各キャラのパラメータを変化させる.
・病弱な妹を思いやる兄と妹の交流を中心に、他の登場人物との友情や恋愛を描写する.
・エンディングは妹、もしくは妹の友人のいずれかと深い恋愛関係になるか、誰とも親密になれないバッドエンディングになるようにする.
・妹と恋愛関係が深まる場合、病弱な妹への思いやりが徐々に、自然に恋愛感情へ変化するように描写する.
・ゲームの操作方法はコマンド選択式またはコマンド入力式とする.
・すべてUNIXシェル内部で処理し,外部コマンドは呼び出さないこと.
(ポイント)
☆UNIXシェルにするには,ファイルの最初に #!/bin/bashというおまじないを書く.
☆コマンド選択方式のゲームにする場合、select文を使用できる。
☆四則演算には $(( )) コマンドが使用できる.(ただし,整数しか扱えない.)


誰かわかるひとお願いします

73 :名無しさん@お腹いっぱい。:2010/02/26(金) 22:48:28
なったっていうか元から

74 :名無しさん@お腹いっぱい。:2010/02/26(金) 22:55:02
>>73
おにいちゃん、寂しいこと言わないで・・・

好感度 :-2
ストレス:+5

75 :名無しさん@お腹いっぱい。:2010/02/26(金) 23:10:47
くだらねえからもっとネタとしておもしろいお題提供してくれ

76 :名無しさん@お腹いっぱい。:2010/02/28(日) 00:22:12
コマンドとかBシェルはいろいろ使っていましたし、使いこなせますって言ったら
うちはKだしなって言われました。
個人的にはコマンドとか多少は違っていてもBシェル知っていたら、
それなりにKシェルとかでも対応できるじゃんと思っていますが


いまいち違いがわからないのですが
具体的にBシェル、Cシェル、Kシェルの決定的な違いってあるのでしょうか?
たとえばこれがあるからこれを採用しているとか

77 :名無しさん@お腹いっぱい。:2010/02/28(日) 00:35:37
あなたのいうBシェルがBourne Shell (/bin/sh) のことなら、
相手の言うKシェル(Korn Shell)はそれのスーパーセットなので、
機能が増えていると思えばいい。商用のUNIXだとkshがふつーに入っている。

あなたのいうBシェルがGNUのBourne-Again Shell(bash)のことなら、
同じようにBourne Shellのスーパーセットではあるが、kshとは系列が異なる。

/bin/sh の機能の範囲では大差ない。商用だとkshが、フリーだと
bashがそれの上位シェルとして使われていると思えばよい。

Linux だと /bin/sh だと思っても実体が bash だったりして知らない
うちに固有の機能に依存していることがあるので気をつける。

Cシェルのことは忘れていい。


78 :名無しさん@お腹いっぱい。:2010/02/28(日) 00:39:50
>>76
http://www.nurs.or.jp/~asada/FAQ/UNIX/UNIX.FAQ.5.html

79 :名無しさん@お腹いっぱい。:2010/02/28(日) 01:11:10
シェルスクリプトとVBA、どちらが簡単ですか?

80 :名無しさん@お腹いっぱい。:2010/02/28(日) 01:16:28
シェルスクリプト

81 :名無しさん@お腹いっぱい。:2010/02/28(日) 01:43:14
>>80
シェルスクリプトと比較して、VBAはどこがどんな風に難しいのでしょうか?

82 :名無しさん@お腹いっぱい。:2010/02/28(日) 10:29:39
処理系の入手が有償なとこ

83 :名無しさん@お腹いっぱい。:2010/02/28(日) 12:33:50
>>50
今時でつまつ調はキモい

84 :名無しさん@お腹いっぱい。:2010/02/28(日) 13:17:02
3日も前の事を今時って…

85 :名無しさん@お腹いっぱい。:2010/02/28(日) 17:10:20
bashの '-ne' は '=' ですか?

86 :名無しさん@お腹いっぱい。:2010/02/28(日) 17:21:11
bashじゃなくても -ne と = は違います。

87 :名無しさん@お腹いっぱい。:2010/02/28(日) 17:38:23
bashで '-eq' は '==' ですよね。
'=' はどう書くんでしょう?

88 :名無しさん@お腹いっぱい。:2010/02/28(日) 17:45:24
何を意味する = だ?


89 :名無しさん@お腹いっぱい。:2010/02/28(日) 17:49:33
bashじゃなくても -eq と = は違います

ついでに、-ne と != も違います

90 :名無しさん@お腹いっぱい。:2010/02/28(日) 17:51:42
bashでは比較の '=' と '==' は同じ。
しかし、'='または'==' と -eq は違う。

91 :名無しさん@お腹いっぱい。:2010/02/28(日) 17:58:53
今時の「UNIX」はbashじゃなくても'=='が使えるから無問題

92 :名無しさん@お腹いっぱい。:2010/02/28(日) 18:25:42
で、今時の「UNIX」の定義にループ

93 :名無しさん@お腹いっぱい。:2010/02/28(日) 18:27:07
ったく…今時の若いモンは…ブツブツ

94 :85,87:2010/02/28(日) 18:30:09
混乱中...

95 :名無しさん@お腹いっぱい。:2010/02/28(日) 18:40:42
その混乱してる行をコピペしてみろよ

96 :名無しさん@お腹いっぱい。:2010/02/28(日) 19:45:24
rpmの.specの中で

%preun
if [ "$1" -eq "0" ]; then

97 :名無しさん@お腹いっぱい。:2010/02/28(日) 19:48:38
>>96
"$1"が 0 でも 00 でも 000 でも一致するのが -eq

98 :名無しさん@お腹いっぱい。:2010/02/28(日) 20:00:19
if [ "$1" = "0" ]; then

こうすれば0のみの一致になる?

99 :名無しさん@お腹いっぱい。:2010/02/28(日) 20:06:40
if [ x"$1" = x0 ] ; then
と、xをつけたくなってしまうバッドノウハウ

100 :名無しさん@お腹いっぱい。:2010/02/28(日) 20:10:19
>>90
kwsk

101 :名無しさん@お腹いっぱい。:2010/02/28(日) 20:14:10
>>99
その xを付けるバッドノウハウが必要になるような "$1"の例が、
今時のUNIXシェルには存在しないんだな。

よってxを付けるバッドノウハウは不要。

102 :名無しさん@お腹いっぱい。:2010/02/28(日) 21:04:27
ash(またはdash)だと、$1 が ! のとき、[ "$1" = 0 ] でコケる。

bash/ksh/zsh だとコケない。確かにUNIXシェルならコケないな。

103 :名無しさん@お腹いっぱい。:2010/03/09(火) 04:37:55
>>100
文字として比較するか、数値として比較するか

104 :名無しさん@お腹いっぱい。:2010/03/09(火) 04:39:31
UNIXシェルと言っているが、HP-UXなんかはPOSIXだお
bashに似ているが、微妙に違う罠

105 :名無しさん@お腹いっぱい。:2010/03/11(木) 23:38:01
ファイルから1レコード読み込んでそのバイト数を取得したいのですが、レコードの最後にスペースがあると上手く行きません。

echo $record | wc -c
で取得できると思ったのですが、echoが末尾のスペースをカットしてしまい、上手く行かず…

どんな工夫で解決できるでしょうか?

106 :名無しさん@お腹いっぱい。:2010/03/11(木) 23:46:46
$record に格納する時点でスペースが落ちてるんじゃないの。
$record にはどうやってデータ格納してるの?

107 :名無しさん@お腹いっぱい。:2010/03/12(金) 06:46:57
>>106
まだテスト段階で、本格的なコーディングはしていないのですが、

record=`head -1 ファイルパス`
echo "${record}@" …ここではスペースが入っているのを確認
echo ${#record} …スペース込みの文字数が出力されるのを確認
echo $record | wc -c …バイト数が足りず

ということで、パイプする前のechoでスペースが落ちてるんじゃないかと…

108 :名無しさん@お腹いっぱい。:2010/03/12(金) 06:59:52
なんで " を使ったり使わなかったりするのかに興味あるわ

109 :名無しさん@お腹いっぱい。:2010/03/12(金) 18:33:15
で、今度は

echo "$record" | wc -c …バイト数が1個多い、、

、、と言うと予想。

110 :名無しさん@お腹いっぱい。:2010/03/12(金) 21:01:22
>>107
sh-3.2$ bar="space "
sh-3.2$ /bin/echo -n ${bar} | wc -c
5
sh-3.2$ /bin/echo -n "${bar}" | wc -c
6

111 :名無しさん@お腹いっぱい。:2010/03/12(金) 21:07:44
>>110
$ bar="space "
$ /bin/echo -n "${bar}" | wc -c
10

???

112 :名無しさん@お腹いっぱい。:2010/03/12(金) 21:21:03
>>>111
-n オプション(出力後改行しない)を持たないecho実装だとそうなる。
- n 空白 s p a c e 空白 改行


113 :名無しさん@お腹いっぱい。:2010/03/12(金) 21:30:41
>>112
知ってるよ。だから >>110 じゃ不完全だって指摘してるんだろ。

114 :名無しさん@お腹いっぱい。:2010/03/12(金) 21:35:42
そういうのってストレートに性格が出るよな。

115 :名無しさん@お腹いっぱい。:2010/03/12(金) 21:42:52
$ bar="-n"
$ /bin/echo -n "$bar" | wc -c
0

116 :名無しさん@お腹いっぱい。:2010/03/13(土) 10:29:32
>>105 >>107
echo ${#record} で目的の結果が得られているのに、
なぜ echo -n "$record" | wc -c とかわざわざ外部コマンドでやろうとするの?

(ダブルクォートと -n は付けておいたよ)

117 :名無しさん@お腹いっぱい。:2010/03/13(土) 14:53:17
まず service httpd configtest して syntax OK が出た場合のみ
service httpd graceful を実行する

という処理を一行で可能でしょうか?

118 :名無しさん@お腹いっぱい。:2010/03/13(土) 15:02:21
一行で可能です

119 :名無しさん@お腹いっぱい。:2010/03/13(土) 16:09:53
わかってくださいよ

120 :名無しさん@お腹いっぱい。:2010/03/13(土) 16:22:25
わかりました。

121 :名無しさん@お腹いっぱい。:2010/03/13(土) 16:26:00
ありがとうございます。
今環境がないので、今度客先に行った時に試してみます。

122 :名無しさん@お腹いっぱい。:2010/03/15(月) 01:02:16
環境変数に配列の宣言文を入れておいて、子シェルで配列を使いたいんですけど、上手くいきません。

export HOGE="(A B C D)"
hoge=${HOGE}

export HOGE=(A B C D)
hoge=${HOGE}

の両方試してみたのですが、どちらもhogeには文字列ががが

要素が10個近くあるので、それぞれ別の変数に入れて渡すとごちゃごちゃしそうで…
なにか良い方法はないですかね?

123 :名無しさん@お腹いっぱい。:2010/03/15(月) 02:39:42
>>122

bash なら
hoge=("${HOGE[@]}")

これでどうでしょうか。

124 :名無しさん@お腹いっぱい。:2010/03/15(月) 04:23:21
ががが

125 :名無しさん@お腹いっぱい。:2010/03/15(月) 07:03:40
>>122
export HOGE="(A B C D)"
(子プロセスで)
eval hoge=${HOGE}


>>123
同じシェルだとうまく行くが、
配列はexportできないので、
それでは駄目。

126 :名無しさん@お腹いっぱい。:2010/03/15(月) 17:36:54
function grepall(){
find . -name "*" -exec grep $1 {} /dev/null \;
}
findとexecを毎回打つのがめんどいんで
こんなのを書いたんですが

grepall "int main"とかやると
"int main"を含む行じゃなくて
intかmainを含む行が出力されてしまうんですが
そうならないようにできたりしますか?

127 :名無しさん@お腹いっぱい。:2010/03/15(月) 17:41:53
>>126
function grepall(){ find . -exec grep "$1" {} /dev/null \;;}
か?

つーか GNU grep の -r 使えばいいんじゃね。

128 :名無しさん@お腹いっぱい。:2010/03/15(月) 17:48:22
おお、どちらでもいけますた!ありがとう

129 :名無しさん@お腹いっぱい。:2010/03/17(水) 22:16:20
cat ${file} |while read line
do
echo "${line},1"
done

でファイルの中身をグルグル回すシェルを作りたいのですが、ファイルの改行コードが落ちてしまうのはどうにかならないでしょうか?

読み込むファイルがCRLFなので、LEだけ落ちてCRだけ残るというなんとも半端なことに…
どうせならCRもまとめてなくなるか、CRLFのまま残るかして欲しいんですが…

130 :名無しさん@お腹いっぱい。:2010/03/17(水) 22:36:30
>>129

echo "${line},1"
ってやってるなら、行末に ",1" が付くわけだけど、
${line}に ^M が含まれてるなら、"...^M,1" ってなるわな。

それ、LFが落ちてるわけじゃないよ。

131 :名無しさん@お腹いっぱい。:2010/03/17(水) 22:37:25
cat file | tr -d '\r' | while

132 :名無しさん@お腹いっぱい。:2010/03/18(木) 01:33:45
dos2unixコマンド使えば?

133 :名無しさん@お腹いっぱい。:2010/03/18(木) 07:19:29
そんな、baseにない非標準コマンド使われてもねぇ

134 :名無しさん@お腹いっぱい。:2010/03/18(木) 07:38:43
>>130
しかし、Windowsに持ってきてエディタで開いたり、バイナリエディタで見てもCRだけ残っているのですが…

>>131
やはりそういう形になりますかね…試してみます。

135 :名無しさん@お腹いっぱい。:2010/03/18(木) 08:21:57
>>134
おまえ、>>130 の言ってる意味わかってないな。

CR+LFのLFが落ちてCRだけ残ったのではなく、
もともとCRが普通の文字とみなされて、
その後に「,1」が追加されただけのことで、
LFが落ちたわけではないんだと言ってるんだけど。

136 :名無しさん@お腹いっぱい。:2010/03/18(木) 08:23:16
シェルって言ってるクズを相手にすんなよ。

137 :名無しさん@お腹いっぱい。:2010/03/18(木) 08:24:35
tr とか dos2unix(笑)とかの外部コマンドを使うより、

IFS= の中に ^M を入れておくと readの際に自動的に CR を落してくれる。
これが最適解。

138 :名無しさん@お腹いっぱい。:2010/03/18(木) 17:02:54
デフォルトのIFSって何だっけ?

139 :名無しさん@お腹いっぱい。:2010/03/18(木) 17:08:36
スペース・タブ・LF

140 :名無しさん@お腹いっぱい。:2010/03/18(木) 17:32:38
IFSって?

141 :名無しさん@お腹いっぱい。:2010/03/18(木) 17:45:17
International FreeBSD School

142 :名無しさん@お腹いっぱい。:2010/03/18(木) 17:51:24
OK, 願書もらってくる!

bakanisareta... orz

143 :名無しさん@お腹いっぱい。:2010/03/21(日) 14:17:59
>>76
BシェルもKシェルも大して変わらんよ


144 :名無しさん@お腹いっぱい。:2010/03/21(日) 18:14:29
というか、Kシェルはclassic Bシェルの拡張の一つ
ただ、Bashとは違う

145 :名無しさん@お腹いっぱい。:2010/03/22(月) 23:29:11
質問させてください。

関数に渡す引数の中に、5C問題を起こすコードとスペースが混じっている可能性があるとき、どうやって渡せばいいんでしょう?

Fanc '${hoge}'
だと${hoge}が文字列になってしまうし、

Fanc "${hoge}"
だと5C含みの文字がエスケープされて文字化ける

146 :145:2010/03/22(月) 23:31:14
変なところで改行してしまいました。申し訳ないです。

上手く変数を展開しつつ、さらにエスケープを抑止する方法はないでしょうか?

よろしくお願いします。

147 :名無しさん@お腹いっぱい。:2010/03/23(火) 12:49:02
>>143
いや ksh は bourne sh とぜんぜん違うでしょ。
機能的には bash の方がよほど近い。

bsh は ${hoge%fuga} とか ${#hoge} とか $((1+1)) とかどれも使えない。
~ がホームディレクトリに展開されないぐらいだし。


148 :名無しさん@お腹いっぱい。:2010/03/23(火) 13:05:31
>>147
今現在 B-shと言ったら、*BSDの ash または debianの dash相当のシェルを指す。
で、その B-shでは、${hoge%fuga} とか ${#hoge} とか $((1+1)) とか
すべて使える。

ちなみに、OpenSolarisからはBourne-shが消えて、
/bin/shは kshへのsymlinkになってる。

149 :名無しさん@お腹いっぱい。:2010/03/23(火) 13:23:37
bash > ksh > {d,}ash

150 :名無しさん@お腹いっぱい。:2010/03/23(火) 13:30:22
「Bourne Shellの文法の範囲内でのみ記述すること」の主張の
最大の根拠がSolarisに現存していたBourne Shellだったわけだが、
SolarisのBourne Shellがなくなったことで、
Bourne Shell互換で記述する意味がなくなってしまったな。。

151 :名無しさん@お腹いっぱい。:2010/03/23(火) 13:33:30
>>145


152 :名無しさん@お腹いっぱい。:2010/03/23(火) 15:11:32
>>150
OpenSolaris にも bourne sh はあるよ。
パスが /usr/has/bin/sh に変わったけど。

>>148
>今現在 B-shと言ったら、*BSDの ash または debianの dash相当のシェルを指す。

これ、ふつー posix shell といわない?
>>144 は classic Bシェルという言葉を出してるわけだし、
昔からの bourne sh の方を言ってると考えるのが妥当じゃないかと。


153 :名無しさん@お腹いっぱい。:2010/03/23(火) 15:22:19
シェル雑談はいいから

154 :名無しさん@お腹いっぱい。:2010/03/23(火) 15:53:36
>>152
ashやdashぱ posix shellじゃないよ。

たとえば、[[ ]] とかが使えないし、、

155 :名無しさん@お腹いっぱい。:2010/03/23(火) 15:56:03
つーか、あれが使えないとか、コレが欠陥なんて
かんけーねーだろ。
自分が求める仕事が完結すれば、シェルは何だって良い。

酸いも甘いも理解して使えばいいんだよ


156 :名無しさん@お腹いっぱい。:2010/03/23(火) 15:57:41
>>152
/usr/has/bin/sh は歴史的遺物として置いてあるのであって、
実際のスクリプトで使われていないし、使ってはいけない。

157 :名無しさん@お腹いっぱい。:2010/03/23(火) 16:03:34
言えてる。別システムで使う予定も無いくせにな
アホくせ

158 :名無しさん@お腹いっぱい。:2010/03/23(火) 16:06:38
一昔前ならいざ知らず、未だにこんな事言ってる化石がいるから衰退すんだよ。

159 :名無しさん@お腹いっぱい。:2010/03/23(火) 16:48:01
さーて
夕飯までにcshでちょろっと組むかな

160 :名無しさん@お腹いっぱい。:2010/03/23(火) 23:18:15
[[ ]] はPOSIX shellの仕様に無いと思ったが

161 :名無しさん@お腹いっぱい。:2010/03/24(水) 00:22:06
こまけぇことはいいんだよ

162 :名無しさん@お腹いっぱい。:2010/03/24(水) 01:17:36
ごもっとも。

163 :名無しさん@お腹いっぱい。:2010/03/24(水) 01:51:48
このスレからこまけぇことを取ったら何が残るんだよ

164 :名無しさん@お腹いっぱい。:2010/03/24(水) 01:56:59
>>163
はいいんだよ

165 :名無しさん@お腹いっぱい。:2010/03/24(水) 02:04:55
敗因…

166 :名無しさん@お腹いっぱい。:2010/03/24(水) 02:07:00
イーンダヨ!

167 :名無しさん@お腹いっぱい。:2010/03/24(水) 05:51:17
グリーンだよ

168 :名無しさん@お腹いっぱい。:2010/03/24(水) 06:46:53
ashみたいに、posixシェルでもBourneシェルでもないBシェルを
総称して何と呼べばいいの?

169 :名無しさん@お腹いっぱい。:2010/03/24(水) 08:25:51
糞シェル

170 :名無しさん@お腹いっぱい。:2010/03/24(水) 15:41:51
ラルク・アン・シェル

171 :名無しさん@お腹いっぱい。:2010/03/24(水) 16:29:35
クミコ・タケダ・オン・シェル

172 :名無しさん@お腹いっぱい。:2010/03/24(水) 16:42:41
シェル・ファントムハイヴ

173 :名無しさん@お腹いっぱい。:2010/03/24(水) 16:49:49
★お待たせしました★ユーズド&B級ユーズド販売復活!

http://www.ioplaza.jp/shop/genre/genre.aspx?genre=09outtop&affiliate=TP100323B1#useditem
ユーズドアイテム公開日: 3月24日 (水) 19:30〜

http://www.ioplaza.jp/shop/genre/genre.aspx?genre=09outtop&affiliate=TP100323B1#reusememory
B級ユーズドアイテム公開日: 3月24日 (水) 20:15〜

I-O OUTLET はアイオープラザ会員様限定の特別販売コーナーです。
アイオー製品のワケあり掘り出し物がタイムセールスで大放出。是非ご来店をお待ちしております。

※なお、ご利用には会員登録が必要です(登録無料)。

174 :名無しさん@お腹いっぱい。:2010/03/24(水) 16:50:39
エコール・デュ・シェル

175 :名無しさん@お腹いっぱい。:2010/03/24(水) 16:53:50
マイヨ・アルカンシェル

176 :名無しさん@お腹いっぱい。:2010/03/24(水) 16:54:51
銀と真紅のアルカンシェル

177 :名無しさん@お腹いっぱい。:2010/03/25(木) 00:58:36
>>160
あるよ。
if [[ ${1} = AAA]] ;then
とか可能

178 :名無しさん@お腹いっぱい。:2010/03/25(木) 01:18:04
>>177
http://www.opengroup.org/onlinepubs/009695399/utilities/test.html
The KornShell-derived conditional command (double bracket [[]]) was removed
from the shell command language description in an early proposal.

179 :名無しさん@お腹いっぱい。:2010/03/25(木) 07:39:10
ashには、$(( )) はあっても、(( )) がないな。
letコマンドの動作も変だし。

180 :名無しさん@お腹いっぱい。:2010/03/26(金) 01:06:03
仕事の時は細かいことはどーでもいーが、
それ以外なら細かい話もよしではある。

181 :名無しさん@お腹いっぱい。:2010/03/26(金) 06:53:42
(( )) はPOSIX shellの仕様に無いと思ったが

182 :名無しさん@お腹いっぱい。:2010/03/26(金) 07:08:17
こまけぇことはいいんだよ

183 :名無しさん@お腹いっぱい。:2010/03/27(土) 21:42:06
教えていただきたい
例えば以下のようなテキストファイル、file.hoge1があるとします。

AAA111ZZZZ
BBB222ZZZZ
CCC333ZZZZ
DDD444ZZZZ

これに対して、先頭CCCで始まるレコードの4カラム目から3カラム
つまり「333」を「XXX」にしたい。
AAA111ZZZZ
BBB222ZZZZ
CCCXXXZZZZ
DDD444ZZZZ

しかし「333」の位置には半角3バイトではあるが必ずしも「333」が入っている訳ではなく
何が入ってるかは一定でない。

これの解をお願いします。

184 :名無しさん@お腹いっぱい。:2010/03/27(土) 21:49:03
sedでいいんじゃね?


185 :183:2010/03/27(土) 22:01:24
333が固定なら

sed "s/^CCC333/CCCXXX/" file.hoge1

でいけると思ったのですが。。。

solarisのsh,kshです

186 :名無しさん@お腹いっぱい。:2010/03/27(土) 22:03:32
s/^CCC.../CCCXXX/
ならCのあと何でも3文字いけるお

187 :183:2010/03/27(土) 22:08:50
その記述だ!
ありがとう!

188 :名無しさん@お腹いっぱい。:2010/03/28(日) 12:50:53
POSIX?shellとBourneShellって同じものでしょうか?

189 :名無しさん@お腹いっぱい。:2010/03/28(日) 12:52:00
全然違います

190 :名無しさん@お腹いっぱい。:2010/03/28(日) 12:58:36
>>189
返信thx!

POSIXシェル、Cシェル、キーシェル、コーンシェル
のどれかを今日中にある程度使えるようになりたいんだけど
何か良い方法ないですかねw

参考サイトや本と、実行環境が整えば・・・

191 :名無しさん@お腹いっぱい。:2010/03/28(日) 13:13:36
環境なんてどこにでもあるし
サイトなんてぐぐればたくさん出てくる。

192 :名無しさん@お腹いっぱい。:2010/03/28(日) 13:15:21
キーシェルってなんだろう。昭和シェルなら知ってる

193 :名無しさん@お腹いっぱい。:2010/03/28(日) 14:36:10
>>191
そうなのですか
家のfedoraでコーンシェルが動かないっぽくて絶望してました
探してみます

>>192
keysh?らしいです
何かはよくわかりません><

194 :名無しさん@お腹いっぱい。:2010/03/28(日) 15:10:10
>>193
ftp://ftp.kddilabs.jp/Linux/distributions/fedora/releases/12/Everything/i386/os/Packages/ksh-20090630-1.fc12.i686.rpm

195 :名無しさん@お腹いっぱい。:2010/03/28(日) 15:20:17
>>194
有難うございます!
超助かりました。

196 :名無しさん@お腹いっぱい。:2010/03/28(日) 17:12:56
シェル童貞から質問です
2010年にもなってダイアルアップuucp環境を構築しようとしています('A`)
cronで一定時間毎にuucpキューをチェックして、1つでも中身があればuucicoで
ダイアルアップ接続・・・という事をしたいのですが正直構文がわかりません

uustat -q|wc -lでキューの中身をカウントし、0じゃなければuucicoを実行したいのですが・・・

#!/bin/sh
uustat -q|wc -l
val=$?
if test ${val} -ne 0
then
/usr/sbin/uucico -s uucp-domain
else
echo "no mail in uucp queue."
fi
exit 0

考えたら"wc -l"は行数を表示するコマンドで戻り値は成功すれば0なので
$?も0だから上記の記述じゃ条件が常に偽になりますわな ○<\_
戻り値じゃなくてwc -lの表示結果の数値を変数に格納する方法を教えて下さい

197 :名無しさん@お腹いっぱい。:2010/03/28(日) 17:22:33
status=`uustat -q|wc -l`

198 :196:2010/03/28(日) 17:53:58
>>197
できました!
本気でありがとう

199 :名無しさん@お腹いっぱい。:2010/03/30(火) 07:03:23
スクリプト初心者にアドバイスをお願いします。

CSVファイルをシェル配列に格納していろいろ加工しようと思っています。

が、CSVに空の項目がある場合に上手く格納できず、空項目を無視してしまいます。

------------ソース-------------
cat ${file} | while read line

eval ARRAY="(`cat ${line} | awk {'print $1,$2,$3'}`)"
→以降ARRAYを加工
----------ソースここまで---------

これを実行すると
AAA,BBB,CCC →ARRAY[0] =AAA,ARRAY[1] =BBB,ARRAY[2] =CCC
⇒ 想定通り
,BBB,CCC →ARRAY[0] =BBB,ARRAY[1] =CCC
⇒ ARRAY[0]=””,ARRAY[1] =BBB,ARRAY[2] =CCCにしたい

何か工夫が必要なんでしょうか?

200 :199:2010/03/30(火) 07:28:56
間違えました…

× awk {'print $1,$2,$3'}
○ awk -F , {'print $1,$2,$3'}

201 :名無しさん@お腹いっぱい。:2010/03/30(火) 08:29:01
やっつけ
#!/bin/bash
file=hoge.csv
cat ${file} | while IFS=, read ARRAY[0] ARRAY[1] ARRAY[2]; do
echo 0: ${ARRAY[0]}
echo 1: ${ARRAY[1]}
echo 2: ${ARRAY[2]}
done


202 :名無しさん@お腹いっぱい。:2010/03/30(火) 21:39:41
>>201
IFSって上書きした時の影響範囲ってスクリプト内だけなんですね…全体だと思ってました。
教えていただいたソースで実現できました。
ありがとうございます。

が、もう一度処理を見直した結果、ARRAYの加工と同時に元の${line}も使用するので、
一度lineに格納してから改めてARRAYに分割・格納する必要があることが分かりました。

条件が後出しになってしまって申し訳ありませんが、何か方法はないでしょうか?

203 :名無しさん@お腹いっぱい。:2010/03/31(水) 01:35:39
set - $line

204 :名無しさん@お腹いっぱい。:2010/04/01(木) 06:57:16
>>203
setを使ってみましたが上手くいかず…

ARRAY=`set - ${line}`
でいけるんですか?

205 :名無しさん@お腹いっぱい。:2010/04/01(木) 09:17:38
>>204
set は $1 $2 $3 ... に値をセットする。


206 :名無しさん@お腹いっぱい。:2010/04/01(木) 11:45:07
あぁ、釣りか。

つられちゃったw てへっ?☆

207 :名無しさん@お腹いっぱい。:2010/04/01(木) 19:42:04
>>202

line=',aaa,bbb'
IFS=,
ARRAY=($line)

208 :名無しさん@お腹いっぱい。:2010/04/08(木) 06:05:00
シェルスクリプトで2つのジョブを同時に実行した後、両方が終了するのを待つにはどうのようにしたらよいのでしょうか?

./a &
./b
これだと、2つめのジョブの終了は待ちますが、1つめはまだバックグランドで実行されている可能性が出てしまいます

209 :名無しさん@お腹いっぱい。:2010/04/08(木) 06:19:10
./a &
./b
wait

210 :名無しさん@お腹いっぱい。:2010/04/08(木) 06:41:22
または
./a &
./b &
wait


211 :名無しさん@お腹いっぱい。:2010/04/08(木) 09:57:16
>>210
まじ?

212 :名無しさん@お腹いっぱい。:2010/04/08(木) 10:03:25
まじ。

213 :名無しさん@お腹いっぱい。:2010/04/08(木) 22:52:39
>>208
前スレか前々スレに確かそんな話題があった

214 :名無しさん@お腹いっぱい。:2010/04/28(水) 14:12:30
質問です。
シェルスクリプト(bash)内で、非同期で他のシェルを呼び出したり、
javaコマンドを実行したりしたいのですが、どのように書けばよいのでしょうか。
(戻り値は必要無いです。)

215 :名無しさん@お腹いっぱい。:2010/04/28(水) 14:12:54
&

216 :名無しさん@お腹いっぱい。:2010/04/28(水) 14:29:50
>>215
bashのmanpageみたら確認できました。
(非同期、で検索してたので見落としてました。)
ありがとうございます。

217 :名無しさん@お腹いっぱい。:2010/05/05(水) 04:29:57
bashとksh使ってます。

if文で以下、括弧の違いを教えてくれませんか?
ぐぐっても分からなかった・・・
2重も1重も同じとおもってよいのでしょうか?

if [[ xxxx ]];then

if [ xxxx ];then


218 :名無しさん@お腹いっぱい。:2010/05/05(水) 05:17:13
おはようございます。教えて下さい。

シェルスクリプトの中で、
ls /honya/* >> list.txt をしたファイル名使いたいのですが、
Directory や Filenameにメタキャラやらスペースがいっぱい
あります。そんなの作るなって言えれば、いいのですが、ユーザ
さんは、Windowsだし。見てるとそれなりに規則性があって
運用してるんだなってわかります。
話がそれましたが、シェルの中での処理を教えて下さい。
よろしくお願いします。

219 :名無しさん@お腹いっぱい。:2010/05/05(水) 07:05:17
>>217

[[ hoge -a boke ]] は文法エラー
[[ hoge && boke ]] と書く

[ hoge && boke ] は文法エラー
[ hoge -a boke ] と書く

-o と || についても同様。


[[ hoge = h* ]] は真
[ hoge = h* ] は偽(ただしカレントディレクトリにhogeというファイルがあると真)

220 :名無しさん@お腹いっぱい。:2010/05/05(水) 07:15:24
>>218

ファイル名に改行コードが含まれていないなら、

ls /honya/* >> list.txt

while IFS= read -r hoge
do
echo "$hoge"
done < list.txt

の形で処理できる(メタキャラやらスペースもOK)

変数を参照する時には "$hoge" のように必ず " " を付けること。

221 :名無しさん@お腹いっぱい。:2010/05/05(水) 08:25:45
>>217,218

ありがとうございます。さすがです。
読み込んだファイルを sed か tr 一つづつ 変換して書き出すしか
ないかなぁって思ってました。
こんな方法があるのですね。勉強させていただきました。


222 :名無しさん@お腹いっぱい。:2010/05/05(水) 09:29:01
>>221
>>220のようにlsの結果を使うのは素人。↓こういう仮定を勝手に設定してはいけない。
> ファイル名に改行コードが含まれていないなら、

for fname in /honya/*;do echo "$fname";done
が正しい。

223 :名無しさん@お腹いっぱい。:2010/05/05(水) 09:38:47
>>222
おまえ、もっとアホ

それではファイル名のスペースがもろに分離されてしまって
全く動作しない。


まあ、釣りだろうけど

224 :名無しさん@お腹いっぱい。:2010/05/05(水) 09:41:43
>>222
質問自体が、
「lsの結果のファイルがすでにあって、それを処理するスクリプトが欲しい」
ということなのだから、lsの結果を使うことまでは「前提条件」かと。

225 :名無しさん@お腹いっぱい。:2010/05/05(水) 10:55:07
>>223
分離されねーよ。
恥をかきにのこのこ出てきて… これほどのバカはめったにいない。

>>224
ダメな前提の質問なのだから、正しく処理するスクリプトを作成する事は不可能。が正解。

226 :名無しさん@お腹いっぱい。:2010/05/05(水) 11:39:49
>>223
笑殺させられたくないから、もうひとつ先に言っといてやる。
「ARG_MAX超えたら動作しない」とか言い出すなよ。
確実に5人は笑い死にするぞ。

227 :名無しさん@お腹いっぱい。:2010/05/05(水) 13:21:18
>>219
ありがとうございます。
括弧の数によって、&&や-aの使い方が変わるのですね。
一般的には、二重括弧でよいのでしょうか?



228 :名無しさん@お腹いっぱい。:2010/05/05(水) 13:27:30
>>227
一般的には [ ] の方が良い。
[[ ]] は互換性がないので使わない方がよい。

229 :名無しさん@お腹いっぱい。:2010/05/05(水) 18:09:03
218です
僕の質問が悪くて、申し訳ありません。
取り敢えず、シェルは完成して、今テスト中です。

結局、シェルの中で、Find -type f して、コマンドに
渡しました。

ここにアップしたら、見てもらえるかなぁなんて都合
良すぎ?
エラー処理とか全然してないんですが・・・。

230 :名無しさん@お腹いっぱい。:2010/05/05(水) 18:18:34
シェルってゆうな。クズ。

231 :名無しさん@お腹いっぱい。:2010/05/05(水) 21:51:50
>>230
人のことくずとか言うな。
何様?

232 :名無しさん@お腹いっぱい。:2010/05/05(水) 21:54:43
つスルーカ

233 :名無しさん@お腹いっぱい。:2010/05/05(水) 22:26:27
>>231
引っ込んでろ。クズ。

234 :名無しさん@お腹いっぱい。:2010/05/05(水) 22:36:54
>>233
おまえさぁ、ここUnix板だぜ。
技術系の板で、あほか。

235 :名無しさん@お腹いっぱい。:2010/05/05(水) 22:42:52
つルーカ

236 :名無しさん@お腹いっぱい。:2010/05/05(水) 23:10:59
>>234
意味不明。引っ込んでろ。クズ。

237 :名無しさん@お腹いっぱい。:2010/05/05(水) 23:21:52
つ スツーカ

238 :名無しさん@お腹いっぱい。:2010/05/06(木) 04:01:37
>>235
新参乙です(悪いとは言ってない)
さんざんガイシュツ。
ま、ここの人は優しいから俺以外のシッタカが教えてくれます。

239 :名無しさん@お腹いっぱい。:2010/05/06(木) 04:30:31
先生、頭のおかしい人がいます

240 :名無しさん@お腹いっぱい。:2010/05/06(木) 12:25:18
rsync で複数のディレクトリ、例えばホームディレクトリ直下の tex org .emacs.d .w3m の4つを
ローカルと別のマシン hoge.example.net とで同期したいとします。

#!/bin/sh
cd
rsync -avzu -e ssh {tex,org,.emacs.d,.w3m} hoge.example.net:
rsync -avzu -e ssh hoge.example.net:\{tex,org,.emacs.d,.w3m\} .

とすればできますが、この {tex,org,.emacs.d,.w3m} 部分を1つの変数
export FILES="{tex,org,.emacs.d,.w3m}"
のようにしたいのです。これでは {} が展開されず、そんなファイル名はありませんとなります。

for で回すのも手ですが、rsync を何度も呼び出すことになりコストがかさむため一度のrsyncで行いたいのです。
どのようにすればうまく一つの変数に入れられるでしょうか?


241 :名無しさん@お腹いっぱい。:2010/05/06(木) 12:48:38
まず配列を用意します

242 :名無しさん@お腹いっぱい。:2010/05/06(木) 12:50:58
ごめん嘘
普通に空白区切りの変数でいいじゃないか

243 :名無しさん@お腹いっぱい。:2010/05/06(木) 13:06:20
/bin/shがブレース展開してくれるOSは板違いです。

244 :名無しさん@お腹いっぱい。:2010/05/06(木) 13:08:32
>>240
eval

245 :名無しさん@お腹いっぱい。:2010/05/06(木) 13:15:37
>>243
その判断基準だとOpenSolarisも板違いになってしまいますな。

246 :名無しさん@お腹いっぱい。:2010/05/06(木) 13:16:01
OpenSolarisってbashだろ?

247 :名無しさん@お腹いっぱい。:2010/05/06(木) 13:17:58
>>246
OpenSolarisの /bin/sh の正体は ksh93 (Solaris10以前とは違う)

OpenSolarisの bashは /bin/bashで、/bin/shとは別。

248 :240:2010/05/06(木) 13:36:52
>>242
空白区切りだと hoge.example.net:を全てに付与できなさそうなのです。

>>243
wwwwwww
Mac OS XなのでUNIXですけどwwww

>>244
とりあえず eval でいけそうですね。

FILES="{tex,org,.emacs.d,.w3m}"
rsync -avzu -e ssh `eval echo ${FILES}` hoge.example.net:
rsync -avzu -e ssh `eval echo hoge.example.net:${FILES}` .

こういう感じでしょうか
ありがとうございました。


249 :名無しさん@お腹いっぱい。:2010/05/06(木) 13:39:14
Mac OSはbash七日?

> rsync -avzu -e ssh `eval echo hoge.example.net:${FILES}` .
こっちはeval不要。

250 :240:2010/05/06(木) 13:50:49
>>248
% ls -l /bin/{sh,bash}
-rwxr-xr-x 1 root wheel 1346544 2010-02-05 09:41 /bin/bash*
-r-xr-xr-x 1 root wheel 1346624 2010-02-05 09:43 /bin/sh*
% diff /bin/{sh,bash}
Binary files /bin/sh and /bin/bash differ

微妙に違うみたいですがほとんど同じなのかも知れません。

eval 不要でしょうか?
evalがないと、
ls -d `echo hoge.example.net:${FILES}`
ls: cannot access hoge.example.net:{tex,org,.emacs.d,.w3m}: No such file or directory
となって{}を展開してくれませんでした。

251 :名無しさん@お腹いっぱい。:2010/05/06(木) 14:00:10
Macなら新Mac板で聞けば。

252 :名無しさん@お腹いっぱい。:2010/05/06(木) 14:01:45
>>250
rsync -avzu -e ssh hoge.example.net:${FILES} .

ところで、FILESじゃなくてDIRSだろ。

253 :名無しさん@お腹いっぱい。:2010/05/06(木) 14:04:08
ディレクトリもファイルだと教わらなかったか?

254 :名無しさん@お腹いっぱい。:2010/05/06(木) 14:27:32
>>251
なぜ?

255 :名無しさん@お腹いっぱい。:2010/05/06(木) 22:19:46
>>249
$ echo $SHELL
/bin/bash
$ bash --version
GNU bash, version 3.2.17(1)-release (i386-apple-darwin9.0)
Copyright (C) 2005 Free Software Foundation, Inc.


256 :名無しさん@お腹いっぱい。:2010/05/07(金) 12:22:19
お前のログインシェルなんて誰も聞いちゃいない

257 :名無しさん@お腹いっぱい。:2010/05/07(金) 21:52:57
>>256
お前バカだろ

258 :名無しさん@お腹いっぱい。:2010/05/07(金) 22:02:52
一応/bin/shのも貼ってあげるよ。

$ /bin/sh --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
Copyright (C) 2007 Free Software Foundation, Inc.
$ ls -il /bin/sh /bin/bash
12727992 -rwxr-xr-x 1 root wheel 1346544 2010-02-05 09:41 /bin/bash*
12728038 -r-xr-xr-x 1 root wheel 1346624 2010-02-05 09:43 /bin/sh*

てっきりハードリンクだろうと思ったらちがったので驚いている。


259 :名無しさん@お腹いっぱい。:2010/05/07(金) 22:03:23
>>255
Mac OS Xの /bin/shは Bash七日? と聞いてるんだから、
$ /bin/sh --version の結果を貼らないと。

260 :名無しさん@お腹いっぱい。:2010/05/08(土) 00:10:32
まーどうでもいいけど

261 :名無しさん@お腹いっぱい。:2010/05/09(日) 04:44:03
mencoderって知ってますか? 下記のような表示が流れるのですが
Ex.
Pos: 0.3s 10f ( 0%) 4.88fps Trem: 15min 14mb A-V:0.023 [0:0]

こういったコマンドの表示を必要な部分だけ切り出して表示したり、
プログレスバーを作ったりしたいのですが可能でしょうか?
Bashでエスケープシーケンスを使うんだろうなぁって思うのですが、とっ
かかりが分からなくて。

ご存じであれば、ご教授お願いします。



262 :名無しさん@お腹いっぱい。:2010/05/09(日) 10:17:47
教授はあげません

263 :名無しさん@お腹いっぱい。:2010/05/09(日) 10:36:48
「お願い」であって「下さい」では無い。

264 :名無しさん@お腹いっぱい。:2010/05/09(日) 11:07:02
>>261
bash仮定していいのかな、この場合。

* IFSとset
* ${var#pattern} # のほかに ## % %% など。
* sedのような外部コマンド


265 :名無しさん@お腹いっぱい。:2010/05/09(日) 11:15:18
>>264
mencoderだということをわかって回答してる?

mencoderが出してくるメッセージは改行なしで1行を書き換えたりしてるので、
行単位に処理する方法では対応できないし、画面に見える文字のまま取り出せる
わけではないんだよ。

266 :名無しさん@お腹いっぱい。:2010/05/09(日) 11:24:15
             /)
            ( i )))
     / ̄\  / /
     |  ^o^ | ノ / < いみがわかりませんなぁ
     \   /  ,/
     / _   /´
    (___)/

267 :名無しさん@お腹いっぱい。:2010/05/09(日) 11:36:33
単にCRで同一行に重ね書きしてるだけだよ。それ以上のカーソル制御しているわけじゃない。
でも、mencoder改造した方が楽だよね。

268 :名無しさん@お腹いっぱい。:2010/05/09(日) 11:45:22
>>267
いや、少なくとも ESC [ J とかのシーケンスは含まれてる。

269 :名無しさん@お腹いっぱい。:2010/05/09(日) 11:49:43
TERM=unknownで実行すればいい。正しく作られているならそんなコードは出なくなるはず。

270 :名無しさん@お腹いっぱい。:2010/05/10(月) 16:00:31
超初心者です。入門UNIXshるプログラミングという本で勉強中ですが、
バッククォートによるコマンド置換の説明で以下のコマンドが出てきました。

STRING=`echo "abc \`echo def\` ghi"`
echo $STRING

期待値は abc def ghi ですが、
\`echo def\` 部分が `echo def` という文字列にならずコマンドとして
認識されるい理由がわかりません。
かといってバックスラッシュ取っちゃうと動かないわけで。


271 :名無しさん@お腹いっぱい。:2010/05/10(月) 16:16:21
>>270
外側の ` ` で囲まれている時点で、
たとえ " " で囲んでも、" " の中のバッククォートの意味は消えない。
よって、` ` のネスティングとみなされてコマンド置換される。

バックスラッシュを取ると動かなくなるのは、
そうすると最初の `echo "abc ` まででクォートとみなされて
解釈が期待通りにならないから。

272 :名無しさん@お腹いっぱい。:2010/05/10(月) 16:22:33
>>270
バックスラッシュの部分は、シェルと、外側のechoコマンドとによって
2回解釈されるので、解釈の結果コマンド置換が実行される。

273 :名無しさん@お腹いっぱい。:2010/05/10(月) 16:28:16
>>271

大外の `` がポイントということですか。納得です。
バックスラッシュ取ると動かなくなる理由は、そいういう
ことなんだろうなと思ってました。

即レスTHXです。

274 :名無しさん@お腹いっぱい。:2010/05/10(月) 16:56:17
STRING=$(echo "abc $(echo def) ghi")

275 :名無しさん@お腹いっぱい。:2010/05/10(月) 16:58:04
ブルースブリンの本か?あの本は古臭いな、色々と

276 :名無しさん@お腹いっぱい。:2010/05/10(月) 17:11:09
>>275
まだ最初の数十ページしか読んでないけど、丁寧に説明してくれてて
読みやすい。tips的な解説もあるし。
どういうところが古臭いと感じるん?

>>274
( ) の説明はまだ数ページ先だ!笑

277 :名無しさん@お腹いっぱい。:2010/05/14(金) 13:41:09
bashを使っています。
echo hoge > /dev/tcp/192.168.0.10/5000
を実行したのですが、接続されません。
/dev/tcp/192.168.0.10/5000: No such file or directory
になってしまいます。なぜでしょうか。

192.168.0.10:5000にはサーバプログラムが存在してて
telnet等で接続可能な状態です。

278 :名無しさん@お腹いっぱい。:2010/05/14(金) 13:45:41
犬板に行きなさい。

279 :名無しさん@お腹いっぱい。:2010/05/14(金) 14:01:13
ああ、UNIXにはbashなかったんだっけ?失礼しました。
Linux板に行ってきます。

280 :名無しさん@お腹いっぱい。:2010/05/14(金) 14:02:41
>>277
エスパーすると、bashを使ってるつもりでbashではないのでは?

接続されない場合は、connect: Connection refused と表示され、
No such file or directory とはならない。

bash以外のシェルだと、No such file or directoryになるので。

281 :名無しさん@お腹いっぱい。:2010/05/14(金) 14:07:11
>>277
間違えて csh(笑) で実行するとそのメッセージになるな。

282 :名無しさん@お腹いっぱい。:2010/05/14(金) 14:31:11
bash-1.x というオチもあるな。

283 :名無しさん@お腹いっぱい。:2010/05/14(金) 14:45:01
ディス鳥によっては /dev/tcpの機能がdisableされてコンパイルされてるらしい。

284 :名無しさん@お腹いっぱい。:2010/05/14(金) 14:48:16
実はbashだけどlinuxでなかったとか

285 :名無しさん@お腹いっぱい。:2010/05/14(金) 14:54:18
バカ? /dev/tcpだから犬板行けって言ったんだよ。

286 :名無しさん@お腹いっぱい。:2010/05/14(金) 14:56:05
>>284
linuxじゃなくても bashなら /dev/tcp は使えるよ。デバイスファイルじゃないし。

>>285
おまえあほ。
/dev/tcpなんてデバイスファイルはない。
これは Bashの機能。

FreeBSDでも bashを使えば /dev/tcp は使える。

287 :名無しさん@お腹いっぱい。:2010/05/14(金) 15:11:54
バカ? こんな腐った機能を無効にしてる良心的なディストリもあるから犬板行けって言ったんだよ。

288 :名無しさん@お腹いっぱい。:2010/05/14(金) 15:15:28
>>287
言い訳見苦しいね。Linuxを目のカタキにしてると /dev/tcpが Linux独自のデバイスに
見えたんだろうね。*BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww

289 :名無しさん@お腹いっぱい。:2010/05/14(金) 15:30:24
>>288
必死だな。バカ。
そのように見えたというソース出せよ。ww

290 :名無しさん@お腹いっぱい。:2010/05/14(金) 15:42:30
>>289
>>285

291 :名無しさん@お腹いっぱい。:2010/05/14(金) 15:59:19
へ〜、/dev/tcp初めて知った。 /dev/tcpなんてファイルは無いのに
ソケットを開くという特別解釈をbashの中でしてるんだ。 キモイ。

292 :名無しさん@お腹いっぱい。:2010/05/14(金) 16:01:29
必死だな。バカ。他人の揚げ足とる事だけ考えてるから、
> 言い訳見苦しいね。Linuxを目のカタキにしてると /dev/tcpが Linux独自のデバイスに
> 見えたんだろうね。*BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
こういうバカな思いつきをするんだろうな。
お前、昨日FreeBSDスレに居たJava厨だろ。バカさ加減が同レベルだ。ww

293 :名無しさん@お腹いっぱい。:2010/05/14(金) 16:09:27
>>285 さんからの遺言です

>バカ? /dev/tcpだから犬板行けって言ったんだよ。
>バカ? /dev/tcpだから犬板行けって言ったんだよ。
>バカ? /dev/tcpだから犬板行けって言ったんだよ。

とても恥ずかしいことなので3回言いましたwww

294 :名無しさん@お腹いっぱい。:2010/05/14(金) 16:14:34
Macのbashでも出来るぞw

$ bash --version
GNU bash, version 3.2.17(1)-release (i386-apple-darwin9.0)
Copyright (C) 2005 Free Software Foundation, Inc.
$ exec 3<>/dev/tcp/www.google.com/80
$ echo -e "GET / HTTP/1.1¥n¥n">&3
$ cat <&3
HTTP/1.1 200 OK
Date: Fri, 14 May 2010 07:12:54 GMT
...


295 :277:2010/05/14(金) 16:20:58
すみません解決しました。
>>283さんのおっしゃるとおりでごわした。

296 :名無しさん@お腹いっぱい。:2010/05/14(金) 16:25:14
最近は awk でも同じような方法で tcp にアクセスできる世の中なんだよなぁ。
/dev/tcp じゃなくて /inet/tcp だけど。


297 :名無しさん@お腹いっぱい。:2010/05/14(金) 19:17:20
>>293
お前本当に頭が弱いな。

> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
使えてりゃ質問しねーんだよ。www

298 :名無しさん@お腹いっぱい。:2010/05/14(金) 19:22:04
>>297
お前本当に頭が弱いな。

bashで /dev/tcpが使えるはずなのに使えなかったから質問してたんだろ。
(もともと使えないものならそもそもそういう使い方をしないから質問もしない)
(オチは、./configure 時に --disable してただけ)


ところが、>>285 は、/dev/tcpというデバイスファイルがLinuxにはあって、
Linuxでしか /dev/tcpが使えないものと勘違いしたんだよ、、、

299 :名無しさん@お腹いっぱい。:2010/05/14(金) 20:20:13
>>298
お前かわいそうなくらい頭が弱いな。

> ところが、>>285 は、/dev/tcpというデバイスファイルがLinuxにはあって、
> Linuxでしか /dev/tcpが使えないものと勘違いしたんだよ、、、
それはお前の妄想。

*BSD(のports, pkgsrc)、Solaris(のコンパイル済みの奴)は使えるように
コンパイルしてある。従って使えないのは>>283の指摘通りそのようにコ
ンパイルしているから。

従って、>>285

> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
使えてりゃ質問しねーんだよ。www

300 :名無しさん@お腹いっぱい。:2010/05/14(金) 20:42:33
>>299
お前かわいそうなくらい頭が弱いな。

>>283 は俺だ。で、>>283 = >>298 = 俺だ。
結局俺の指摘が正しかった。

ちなみに、>>286 も俺。
だから、>>286 に指摘されるまで、 >>285 は /dev/tcp がLinux特有だと勘違いしていた。

301 :名無しさん@お腹いっぱい。:2010/05/14(金) 20:48:37
>>285 = >>283 が、仮に /dev/tcpのことを理解していたなら、
bashの/dev/tcpの質問に対して、「Linux板に行きなさい」と言った理由が
合理的に説明できないな。

よって、>>285 = >>283 は bashの/dev/tcp について知らなかった。
ここまでは決定的事実。
で、そこから演繹される事実として、
Linuxには/dev/tcpというデバイスファイルがあって、
Linuxカーネルによって/dev/tcpが処理されてる→Linux特有だからLinux板行け、
と誤って言ってしまったと言える。

302 :名無しさん@お腹いっぱい。:2010/05/14(金) 20:50:51
>>301

安価おかしくない?
>>285 = >>278 だろ?

303 :名無しさん@お腹いっぱい。:2010/05/14(金) 20:56:37
>>301
> bashの/dev/tcpの質問に対して、「Linux板に行きなさい」と言った理由が
> 合理的に説明できないな。
既に楽勝でしている。お前の低性能なJava脳がそれを理解できないだけ。ww

304 :名無しさん@お腹いっぱい。:2010/05/14(金) 21:14:27
>>303
>既に楽勝でしている。

って、


>>287
>バカ? こんな腐った機能を無効にしてる良心的なディストリもあるから犬板行けって言ったんだよ


これのことだよね。

これって、俺が >>283
>ディス鳥によっては /dev/tcpの機能がdisableされてコンパイルされてるらしい。

って正解言った後の、後出しじゃん。

つまり、>>287>>283 を見るまでは /dev/tcpについて知らなかったwww

305 :名無しさん@お腹いっぱい。:2010/05/14(金) 21:25:46
お前ら今日も全力だなw
わざわざ見に来る甲斐があるわ

306 :名無しさん@お腹いっぱい。:2010/05/14(金) 21:37:56
>>304
低脳全開だな。犬板への誘導はオレ(>>278)が真っ先にしている。
一々理由を説明する必要は無い。

> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
使えてりゃ質問しねーんだよ。www

307 :名無しさん@お腹いっぱい。:2010/05/14(金) 21:39:00
おまいら味噌汁ぶっかけんぞゴラァ!

308 :名無しさん@お腹いっぱい。:2010/05/14(金) 21:55:53
ぶっかけはオプションですよ。

309 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:01:55
>>306 の主張ポイントがズレまくりで何を言いたいのかわからん。

「使えてりゃ質問しねーんだよ。」って何度も言ってるけど、
じゃあ、「*BSDでもSolarisでも bashで /dev/tcpは使えない」と主張したいの?

だとすると違うよ。実際使えるし。

ああ、やっぱり「Linuxのみで使える機能」と未だに思ってるんだな。
だから >>278 「犬板に行きなさい。」なんて言ったんだな(笑)

310 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:05:01
>>306
> 犬板への誘導はオレ(>>278)が真っ先にしている。

↑っ言ってるけど、「犬板への誘導」自体が間違い、というのが結論なんだけど。
つまり、>>306 は、「真っ先に間違いを書き込みました」って
自分で認めてることになる。

よって、>>306 の負け。

311 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:08:55
>>283
> ディス鳥によっては /dev/tcpの機能がdisableされてコンパイルされてるらしい。

が正解だけど、補足すると、「ディス鳥によっては」の部分は重要じゃなくて、
「/dev/tcpの機能はbashのコンパイル時に無効にすることもできる」
ってのがポイント。*BSDでもSolarisでも、/dev/tcp無効のbashは作れる。

よって、>>283 はLinux板に誘導はしていないし、Linux特有とも言ってない。

Linux板に誘導した >>278 、Linux特有と勘違いした >>278 が間違い。

312 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:12:08
>>309
お前がバカで理解できないだけ。

>>310
> 「犬板への誘導」自体が間違い、というのが結論なんだけど。
お前の妄想。

> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
使えてりゃ質問しねーんだよ。www

313 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:12:58
たぶん、
>>285
> バカ? /dev/tcpだから犬板行けって言ったんだよ。
を書いてる時点で、

>>283
>ディス鳥によっては /dev/tcpの機能がdisableされてコンパイルされてるらしい。

はすでに読んでたはずだけど、この「コンパイル」というのが、
bashのコンパイルじゃなくて、Linuxカーネルのコンパイルのこどだと
>>285 が誤解したんだろうな。

だから、>>283 を読んだ時点でもまだ「Linux特有の機能」と思い込んでいたからこそ、
>>285 みたいなことを書いたと説明がつく。

314 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:14:08
>>313
壊滅的にバカだな。

> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
使えてりゃ質問しねーんだよ。www

315 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:17:00
>>312
>> 「犬板への誘導」自体が間違い、というのが結論なんだけど。
> お前の妄想。


ということは、「犬板への誘導が正しい」と主張するわけ??

だったら、/dev/tcp が Linux独自のデバイスファイルであると
まだ思い込んでるの??

あと、試しに手元のFreeBSDとかのbashで試してみろ。
ちゃんと/dev/tcpが使えるから。
それでLinux板への誘導が間違ってたことが理解できたかい?

316 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:24:16
>>315
ディストリよっては無効にされている場合がある。これはお前も言っている事だ。
この板で「XXというディストリです」と言われても「おそらく無効になっている」事しか
わからない、犬板なら「そのディストリは無効になっている」事までわかる。
だから犬板で聞くのが正しい。


> ということは、「犬板への誘導が正しい」と主張するわけ??
> ということは、「犬板への誘導が正しい」と主張するわけ??
> ということは、「犬板への誘導が正しい」と主張するわけ??
> ということは、「犬板への誘導が正しい」と主張するわけ??
> ということは、「犬板への誘導が正しい」と主張するわけ??
> ということは、「犬板への誘導が正しい」と主張するわけ??
お前、バカすぎる。考える事を止めた方が良い。www

317 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:28:48
>>314
「*BSDでもSolarisでも bashで /dev/tcpは使える」は正しい。
「*BSDでもSolarisでもLinuxでも bashで /dev/tcpは使える」も正しい。

「*BSDでもSolarisでもLinuxでも、bashの./configureで/dev/tcpを無効にできる」も
正しい。

よって、どこにもLinux特有の事項がない。

元質問の >>277 にはOSは書いてなくて、
bashで/dev/tcp云々としか書いてないから、

これだけだと FreeBSDやSolarisで、bashを自分で./configureして
使っている可能性もある。

よって、>>277 の質問だけで >>278「犬板に行きなさい。」と言ったということは、
>>278 が /dev/tcpがLinux独自の機能だと誤解していたからに他ならない。

318 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:32:29
>>316
>この板で「XXというディストリです」と言われても

↑言ってないことを仮定するな。事実を曲げるな。

元質問者の >>277 はディストリもOSも言ってない。

それから、>>283 「ディス鳥によっては /dev/tcpの機能がdisable…」を
見るまで正解を知らなかったくせに、後出しで >>283 が言ったことを
最初から知ってたようなふりするのをやめろ。

319 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:36:24
>>316
UNIX板的には、bashを objdump -T してみて、
socket()などのネットワーク系の関数が呼び出されているかを確認して、
本当に /dev/tcpの機能が compile in されてるかどうか確認する方法を
教えることもできたはずだ。

これも、OSもディストリも関係なく行なえる方法だ。

なのに、>>278「犬板に行きなさい。」 がすべてを台無しにした。

320 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:44:05
>>317
記述されていなくてもわかる。
デフォルト有効なのだから、野良コンパイルした場合に、知らずに無効になっている事はない。
従って、コンパイル済み(もしくはmake一発のports, pkgsrc)と予想できる。
そして、ports,Solarisは有効になっているのだから、残りはLinuxと予想できる。

バ カ に は 予 想 出 来 な い ら し い が。 w w w

>>318
知らなかったというのはお前の妄想。www

> 元質問者の >>277 はディストリもOSも言ってない。
犬臭さが漂ってるから楽勝でわかる。事実あたっている。

321 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:44:22
>>316
>「XXというディストリです」と言われても「おそらく無効になっている」事しか
>わからない

>>319 が言うように、objdump -T で、/dev/tcpが無効になってるかどうか
確認する方法を知らなかったんですね(笑)

322 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:47:42
>>320
>野良コンパイルした場合に、知らずに無効になっている事はない


知らずに無効になっている事は「ある」

野良コンパイルの参考に、Web等から ./configureのオプションをコピペして、
本人も忘れてることなんて普通にある。

323 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:47:45
>>320
この予想プロセスはちょっと感心した

324 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:49:49
>>319
後出しの言い訳。必死だな。

> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
使えてりゃ質問しねーんだよ。www

325 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:51:14
>>323
後出しジャンケンだから何でも言えるよな。
実際そんな予想ができてたわけないのに。

326 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:55:20
今北産業

327 :名無しさん@お腹いっぱい。:2010/05/14(金) 22:56:16
>>324 が何度もコピペしてる
「*BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww」
って、誰への反論なの?

実際*BSDでもSolarisでも bashで /dev/tcpは使えるし、
>>324 自身は使えないと思ってたんだとすると、
>>324 が言ってることは「自分が間違ってたと」自分に言ってることになるだけど、、

328 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:03:24
まとめ: >>278 = >>285 が知らなかった(そして恥をかいた)こと。

・/dev/tcpはLinux独自のデバイスファイルだと思っていた
・bashが/dev/tcpを特別扱いすることを知らなかった
・FreeBSD等でも、bashで/dev/tcpを使えることを知らなかった
・bashのコンパイル時に/dev/tcpを無効にすることができることを知らなかった
・OSやディス鳥がわからなくても、bashバイナリをobjdump -Tして調べる方法を知らなかった。

329 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:08:17
今日はやけに盛り上がってるな

330 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:12:38
俺も嬉しいよ

331 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:17:18
>>327
>>288に決ってんだろ。

> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
使えてりゃ質問しねーんだよ。www

>>328
バカが、必死すぎる。www

332 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:19:13
>>328
>・/dev/tcpはLinux独自のデバイスファイルだと思っていた

俺も最初そう思っちゃった。 で、自分のシステムには無いから
一生懸命カーネルオプションをあさり始めたw

333 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:27:55
>>331
それを >>288 に言ってるなら、全然反論になってないじゃん。
>>288 の言ってることが正しいんだし。

334 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:31:47
>>331
質問と回答は、質問者だけのものではない。
その質問と回答を読んだ第3者にとっても有益であるべきものだ。

質問がLinux独自のもので、Linux以外のUNIXユーザーに無益なものなら
Linux板への誘導が適当であろう。

ところが、>>288 が言うように、
「*BSDでもSolarisでも bashで /dev/tcpは使える」

よって、bashの/dev/tcpに関する質問と回答をUNIX板で行なうことは
UNIXユーザーにとって有益である。

335 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:38:09
>>333
>>277が使用しているのが*BSDやSoalrisであるならば動くのだから、
*BSDでもSolarisを持ち出すのは的外れ。
そんな単純な事に気付かない>>288を大笑いしている。

> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
使えてりゃ質問しねーんだよ。www

336 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:43:48
>>334
後付け&&自演乙

個々のディストリのコンパイルオプションなんて興味ねーんだよ。
しかもスクリプトに関する質問じゃねーし。

337 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:44:06
>>335
> >>277が使用しているのが*BSDやSoalrisであるならば動くのだから、


その仮定が間違い。
>>322 で言ってるように、*BSDやSoalrisの野良コンパイルで、
知らずに /dev/tcpを無効にしてしまってることはある。


それから、
>>288 は質問者に対して答えてるんじゃなくて、
>>287 が/dev/tcpのことについて知らなかったみたいだから、
「*BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww」
と教えてあげてるんだよ。

いずれにしても、キミが最初から本当に /dev/tcpのことを知っていた上で
Linux板に誘導したのではないことはバレバレ何だから、
見苦しい言い訳はやめとけ。

338 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:46:57
>>336
>しかもスクリプトに関する質問じゃねーし。


ハイ、ここ間違い。/dev/tcpはスクリプトに関する質問。
インタラクティブにも使おうと思えば使えるが、
インタラクティブならtelnetとかnetcatが使えるからそんなことしない。
/dev/tcpでやろうとするのはスクリプトの場合。

339 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:48:49
>>337
お前にはわからなかっただけで高い確率で予想出来ていた。事実合っている。
お前の言いがかりは既に論破されてる。低性能なJava脳のではそれが理解できてないだけ。

> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
使えてりゃ質問しねーんだよ。www

340 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:49:05
>>294
このファイルディスクリプタの3がwww.google.comに対して
開かれているというのを調べる方法を教えて下さい。
lsofで調べてみたけど分かんなかった

341 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:51:52
>>340
ls -l /proc/プロセスID/fd/3
でわかるでしょ?

342 :名無しさん@お腹いっぱい。:2010/05/14(金) 23:58:45
>>341
それだとsocketだということしかわからない。

>>340
lsof -i で接続先のホスト名まで出るけど

343 :名無しさん@お腹いっぱい。:2010/05/15(土) 00:10:19
>>341,342
ありがとうございます。
lsof -i
で出ました;-)


344 :名無しさん@お腹いっぱい。:2010/05/15(土) 00:11:23
>>339 が、「Linuxの一部の鳥のbashでは/dev/tcpが使えないものがある」なんて
知っていた可能性はゼロ。
実際には、/dev/tcpというLinuxのデバイスだのbashだののキーワードに
脊髄反射して「Linux板池」と言った。

ところが、>>283 によって/dev/tcpのことを説明され、
恥をかいた >>339 は、最初から/dev/tcpのことを知っていたかのように
装い始めた、というのが真相。


本当に最初から/dev/tcpのことを知っていたなら、
>>278 で「犬板に行きなさい」なんて言わずに、
たとえば「うちのFreeBSDでは >>277 でうまく行くけど」とか、
「bashのバージョンは?」とか、
そういう反応になっていたはず。

そういう反応になっていなかったということは、
>>278 は /dev/tcp を知らなかった、が結論。

345 :名無しさん@お腹いっぱい。:2010/05/15(土) 00:16:31
>>344
すでに論破された妄想を繰り返すな。見苦しい。
お前のバカを基準にして言いがかりをつけていただけ。

↓バカの証
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
使えてりゃ質問しねーんだよ。www

346 :名無しさん@お腹いっぱい。:2010/05/15(土) 00:18:31
>>295
で、結局どのUnixなのか気になるから教えてくれません? 

347 :346:2010/05/15(土) 00:29:08
手近のシステムいくつか試して見たらRH系には全部あるけど、
ubuntuでは出来なかった。 deb系では無い? 
ぐぐったらこんなの見つけたw

Debian Bug report logs - #146464
bash: /dev/tcp should be enabled by default
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=146464

最初にレポートされたのが2002年でずっと無視されてるw

348 :名無しさん@お腹いっぱい。:2010/05/15(土) 01:45:57
何だ、もう終わっちゃったのか。寂しいな。

349 :名無しさん@お腹いっぱい。:2010/05/15(土) 07:16:25
>>345
何言ってるの?

>>345 はすでに論破されている。
というか、>>333 が言ってるように、
何度もコピペしてる >>345 等は最初から論点がズレていて
反論になってない。だから何回コピペしてもほとんど相手にされてない。

もう一度まとめると、
>>278 = >>285 が知らなかった(そして恥をかいた)こと。

・/dev/tcpはLinux独自のデバイスファイルだと思っていた
・bashが/dev/tcpを特別扱いすることを知らなかった
・FreeBSD等でも、bashで/dev/tcpを使えることを知らなかった
・bashのコンパイル時に/dev/tcpを無効にすることができることを知らなかった
・OSやディス鳥がわからなくても、bashバイナリをobjdump -Tして調べる方法を知らなか
った
・野良ビルドでも、Web上のコマンドラインをコピペして知らずにdisableオプションを付
けていて本人が忘れてることが良くあることを知らなかった
・/dev/tcpはスクリプトで使うものだと知らなかった(>>338 が指摘)

350 :名無しさん@お腹いっぱい。:2010/05/15(土) 07:25:17
>>345
は論点のすり替えだな。

>>288
>言い訳見苦しいね。Linuxを目のカタキにしてると /dev/tcpが Linux独自のデバイスに
>見えたんだろうね。*BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww

↑が言ってるのは、「/dev/tcpはLinuxだけで使える」←に対する反論として、
「*BSDでもSolarisでも bashで /dev/tcpは使える」と言ってるに過ぎない。

「使えてれば質問しないかどうか」の結果がどうであれ、
「/dev/tcpはLinuxだけで使える」←が間違いであると言う事実の主張に対する
反論にはならない。

「/dev/tcpはLinuxだけで使える」と思っていた >>278 = >>285
苦肉の策で思いついた言い訳が >>345 他多量の同文コピペというわけだなwww

351 :名無しさん@お腹いっぱい。:2010/05/15(土) 08:27:43
流れを振り返ってみよう

>>277 (元質問)
 

 
>>280 (/dev/tcpがbashの機能だと正しく知ってる回答者)
>エスパーすると、bashを使ってるつもりでbashではないのでは?

>>285 (/dev/tcpはLinuxの機能だと誤解してる馬鹿)
>バカ? /dev/tcpだから犬板行けって言ったんだよ。

↑ 285の「バカ」は280に対して言っている。つまり、
「bashをいくら追求しても、Linuxじゃない限り/dev/tcpは使えない」と
思い込んでいる。
「/dev/tcpだから犬板」という言い方は「/dev/tcpイコールLinux」と考えてるからこそ
出てくる言葉。
 

 
>>286 (/dev/tcpはbashの機能であってLinux独自のものじゃないことの指摘)
>/dev/tcpなんてデバイスファイルはない。
>これは Bashの機能。
 

 
>>287 (見苦しい言い訳)
>バカ? こんな腐った機能を無効にしてる良心的なディストリもあるから犬板行けって言
ったんだよ。

>>287>>285 とで、言ってることが自己矛盾してる。
>>286 の指摘を見てから言い訳を考えてるから、書き込みに15分以上もかかってるw

352 :名無しさん@お腹いっぱい。:2010/05/15(土) 08:32:00
>>349-350
弱いお頭で必死に考えた妄想だけでは事実を捻じ曲げられない。
冤罪足利事件みたいに客観的事実と強弁できるソースを捏造しないとな。
お前が一昨日必死になっていた、「ソース出せ。」ってやつだな。wwww

> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
使えてりゃ質問しねーんだよ。www

353 :名無しさん@お腹いっぱい。:2010/05/15(土) 08:34:29
>>351
さて、渾身の反論に何分かかるか。まさか、15分以上はかからないよな。
お頭が悪いと墓穴を掘る。www

354 :名無しさん@お腹いっぱい。:2010/05/15(土) 08:36:43
>>352
それ反論になってないから、

>>349 >>350 >>351 に対して反論してくれるかな?

今のところ >>349 >>350 >>351 に対しての反論がないので、
>>349 >>350 >>351 が正しい以上、>>352 の負けだ。

355 :名無しさん@お腹いっぱい。:2010/05/15(土) 08:40:01
>>352
全然関係ないけど、
>お前が一昨日必死になっていた、「ソース出せ。」

って何のこと? 俺じゃないよ。
あと、Javaがどうこうのカキコもあったけど、それも俺じゃない。

356 :名無しさん@お腹いっぱい。:2010/05/15(土) 08:44:06
>>354
朝からν即並みに張り付いて必死だな。www
何回リロードしたんだ。www

> 今のところ >>349 >>350 >>351 に対しての反論がないので、
論破済みの戯言には反論する必要なし。

>>320に反論出来てないのでお前の負け。www
これはお前が持ち出したルール。 お頭が弱いと墓穴掘る。wwww

357 :名無しさん@お腹いっぱい。:2010/05/15(土) 08:48:12
>>356
>>320 に対する反論は >>322 で即攻でしてる。

>>322
>知らずに無効になっている事は「ある」

>野良コンパイルの参考に、Web等から ./configureのオプションをコピペして、
>本人も忘れてることなんて普通にある。


で、 >>349 >>350 >>351 に対する反論まだぁ??

358 :名無しさん@お腹いっぱい。:2010/05/15(土) 08:50:33
>>356
>論破済みの戯言には反論する必要なし。


どこにも「論破」されてないし、
「反論する必要なし」というなら、反論できないことを認めたんだな。
じゃあ、>>356 は負けを認めたww

359 :名無しさん@お腹いっぱい。:2010/05/15(土) 09:00:37
>>357
あれで反論のつもりかよ。www

「予想できる」を論破するには「100%有り得ない」事を立証する必要があるんだよ。
バカは何処までいってもバカだな。

お前が言い出したルールで、>>320に反論出来なかったお前の負け決定。www

360 :名無しさん@お腹いっぱい。:2010/05/15(土) 09:01:54
バカ晒しあげの、お約束のコピペを忘れたぜ。

> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
> *BSDでもSolarisでも bashで /dev/tcpは使えるんだよwww
使えてりゃ質問しねーんだよ。www

361 :名無しさん@お腹いっぱい。:2010/05/15(土) 09:06:45
>>357
お前が言い出したんだからお前は15分以内にレスしろよ。www
バカは墓穴を掘る。www

> >>286 の指摘を見てから言い訳を考えてるから、書き込みに15分以上もかかってるw
> >>286 の指摘を見てから言い訳を考えてるから、書き込みに15分以上もかかってるw
> >>286 の指摘を見てから言い訳を考えてるから、書き込みに15分以上もかかってるw
> >>286 の指摘を見てから言い訳を考えてるから、書き込みに15分以上もかかってるw
> >>286 の指摘を見てから言い訳を考えてるから、書き込みに15分以上もかかってるw

362 :名無しさん@お腹いっぱい。:2010/05/15(土) 09:06:48
>>359
論理が間違ってるよ。
この場合は 0%ではないことを示せば十分だから、
>>320>>322 で論破されてる。


>>360
それは反論になってないし、論点にもなってない。

そのことは >>350 で言ってる。
>>350 に反論できないなら、>>360 のコピペを何回やっても無駄。

363 :名無しさん@お腹いっぱい。:2010/05/15(土) 09:10:02
>>351 も言ってるが、
>>285 (/dev/tcpはLinuxの機能だと誤解してる馬鹿)
>バカ? /dev/tcpだから犬板行けって言ったんだよ。

この発言が致命症だね。
「/dev/tcpだから犬板」とストレートに言ってる。
弁解の余地なし。

364 :名無しさん@お腹いっぱい。:2010/05/15(土) 09:18:29
>>362
論理 wwww
「矛盾しない」事を理解できなかった知恵遅れが「論理」www

バカが気付かずに無効にした経験を持ち出して
> 知らずに無効になっている事はない。
に反論した気になってるんだ。www 笑う。www

この部分はバカを考慮すれば、
> 知らずに無効になっている事は少ない。
という事になるが、これでも>>320の論理は全く変わらない。

お前が言い出したルールで、>>320に反論出来てないお前の負け決定。www

365 :名無しさん@お腹いっぱい。:2010/05/15(土) 09:24:28
>>364
>>320 に対する反論は >>322 で終了。

で、>>349 >>350 >>351 に対する反論まだぁ??

反論が大変ならとりあえず、
>>363 に反論しろよ。

「/dev/tcpはLinux独自のもの」と思ってない人が
「/dev/tcpだから犬板」なんて言わない。

↑に対する反論を。

366 :名無しさん@お腹いっぱい。:2010/05/15(土) 09:39:35
>>351は他人だと言い張りたいようだから、相手にしてやろう。

> 285の「バカ」は280に対して言っている。つまり、
正しい板に誘導済み、且つ、移動宣言が出ている質問に対して、レスしている
>>280-284に対して言っている。

お前の論理wwww は>>285が/dev/tcpを知らなかったという妄想に全面的に
依存してるんだよ。www
/dev/tcpを知っていたなら(事実だからしょうがない)、>>285は何も矛盾しない。

>>363も相手にして欲しいらしいな。
> 「/dev/tcpはLinux独自のもの」と思ってない人が
> 「/dev/tcpだから犬板」なんて言わない。
バカは繰り返さないとわからないようだが。>>316で論証済み。ディストリの問題だから犬板。

367 :名無しさん@お腹いっぱい。:2010/05/15(土) 09:47:58
>>366
/dev/tcpがLinux独自じゃないと知っているのに
「/dev/tcpだから犬板」と言うことはありえない。


> >>316で論証済み。ディストリの問題だから犬板。


本質はディストリの問題ではない。
正しくは「./configureの問題」
で、Linux以外のOSでも 「./configureの問題」として起こり得る問題。

だからLinux板への誘導は間違い。

で、Linuxじゃなくても objdump -T で確認できることを
>>319 あたりで指摘してる。
(これは、「ディストリの問題ではない」と言う主張)


以上で、>>366 に書いてあることは論破されたので、

まだ反論のない >>349 >>350 >>351 に対する反論 を早く書くように。

368 :名無しさん@お腹いっぱい。:2010/05/15(土) 09:52:24
>>349 >>350 >>351 に対する反論が 15分以上ないので、(15分どころじゃないけど)
負けを認めたんじゃないの?


別に15分ルールにするつもりなんかないだろうけど、
>>356 自身がそれを「お前が持ち出したルール」とか言い始めたので。

369 :名無しさん@お腹いっぱい。:2010/05/15(土) 09:55:39
>>367
「有り得ない」に対する反論は、「有りうる場合」を一つ示せば証明終了。
論理学の基礎の基礎の基礎。

やっぱり一昨日「矛盾しない」を最後まで理解できなかった低性能Java厨のようだな。www

370 :名無しさん@お腹いっぱい。:2010/05/15(土) 09:59:15
>>369
その「一昨日」って何のことだよ。俺じゃない。

>「有りうる場合」を一つ示せば証明終了
って、
「有りうる場合」なんてどこにも書かれてないじゃん。

371 :名無しさん@お腹いっぱい。:2010/05/15(土) 09:59:27
>>368
すでに論破済みの妄想には反論の必要はなし。

15分ルールを言い出したのは>>351
>>351はそれに従う必要がある。オレには無い。

372 :名無しさん@お腹いっぱい。:2010/05/15(土) 10:04:24
>>371
どこにも論破されてない。

そう言って逃げるのは反論できない証拠。


「論破済み」と言うなら、そのポインタを示すかコピペしてみろよ。
できないだろうけど。

373 :名無しさん@お腹いっぱい。:2010/05/15(土) 10:06:05
>>370
ついに小学生並みの言いがかりしか付けられなくなったようだな。
「有りうる場合」とは確かに書いてないな。www

「言わない」に対する反論は「言う場合もある」事を一つ示せば証明終了。
これでわかるか? www

374 :名無しさん@お腹いっぱい。:2010/05/15(土) 10:07:02
>>371
>>351 は「15分ルール」なんて言ってないよ。
「書き込みに15分以上もかかってる」から、言い訳に苦労したんだろう、
と言っただけ。

それを勝手に >>353 あたりで 「15分ルール」みたいに言い出しただけ。
言い出したのは >>353 の方。>>353 自身が従う必要がある。

375 :名無しさん@お腹いっぱい。:2010/05/15(土) 10:08:26
>>373
だから、その「有りうる場合」を具体的に書いてみろよ。
今までの議論の中では書かれてない。

376 :名無しさん@お腹いっぱい。:2010/05/15(土) 10:12:56
まとめると、

「/dev/tcpはbashの機能であってLinux独自の機能ではない」
ことを知っている人が、
「/dev/tcpだから犬板」とは言わないし、

「/dev/tcpはbashの機能であってLinux独自の機能ではない」
ことを知っている人が、
「/dev/tcpだから犬板」という場合があるような合理的な例が
1例も示されていない。

よって、>>369 の負け。

377 :名無しさん@お腹いっぱい。:2010/05/15(土) 10:14:49
>>374
15分ルールを引っ込めたいのか? 特別に許してやっても良いぞ。
自ら言い出しておいて情けない奴だな。

>>375
メクラ?
> >>316で論証済み。ディストリの問題だから犬板。

378 :名無しさん@お腹いっぱい。:2010/05/15(土) 10:18:02
>>377
>>316
>>319>>367 で 論破済み。

よって、
「/dev/tcpはbashの機能であってLinux独自の機能ではない」
ことを知っている人が、
「/dev/tcpだから犬板」という場合があるような合理的な例が
1例も示されていない。

379 :名無しさん@お腹いっぱい。:2010/05/15(土) 10:24:24
>>377
あと、>>316>>318 でも論破されてる。

380 :名無しさん@お腹いっぱい。:2010/05/15(土) 10:40:12
>>378-379
>>318, >>319, >>367は反論たりえない。

>>318
> 元質問者の >>277 はディストリもOSも言ってない。
元質問者が言及していない事は予想すればいい。 詳細は>>320
/dev/tcpを知らなかったというのはお前の妄想。

>>319
結論(犬板への誘導)に対する言いがかり。「objdumpで確認できる」は概ね正しいが、
/dev/tcpを知らない事の論証にはならない。

>>367
特殊なバカのケースを持ってきて、>>316の結論(犬板への誘導)に言いがかりをつけ
ているだけで、/dev/tcpを知らない事の論証にはならない。

/dev/tcpを知らなかったというのはお前の妄想にすぎないんだよ。

381 :名無しさん@お腹いっぱい。:2010/05/15(土) 10:43:33
>>380
/dev/tcpを本当に知ってる人が
「/dev/tcpだから犬板」とは言わない。

↑これがすべてwww

で、「有りうる場合」(そう言う場合)の具体例は? まだ書けないのか?

382 :名無しさん@お腹いっぱい。:2010/05/15(土) 10:45:23
>>381
「ディストリの問題だから犬板」
何も矛盾しない。

383 :名無しさん@お腹いっぱい。:2010/05/15(土) 10:49:16
>>366
>お前の論理wwww は>>285が/dev/tcpを知らなかったという妄想に全面的に
>依存してるんだよ。www


とは言うが、「/dev/tcpを知らなかった」とすればすべて自然に説明が付くよね。

逆に「「/dev/tcpを知っていた」と仮定すると、すべてが不自然、
というか実際に論破されてるし。

よって、「/dev/tcpを知らなかった」が事実。


>>382
ディストリの問題ではなく、configureの問題。
で、ディストリもOSも関係なく回答できる問題。
で、実際UNIX板で回答して解決してるし。
(逆に誘導先のLinux板では解決していない)

384 :名無しさん@お腹いっぱい。:2010/05/15(土) 10:54:31
>>383
不自然と言うのはお前の妄想。妄想だけで論破した気になっているおバカさん。

> で、実際UNIX板で回答して解決してるし。
> (逆に誘導先のLinux板では解決していない)
犬板が情けなかっただけ(見てないから知らないが)で、/dev/tcpを知らなかった論証にはならない。

お前の「論破」とやらはは全て妄想。

385 :名無しさん@お腹いっぱい。:2010/05/15(土) 10:59:28
>>384
よくよめ。「不自然、というか実際に論破されてる」と言ってる。

386 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:00:33
で、結局
>>349 >>350 >>351 に対する反論はできなかったのですね

387 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:00:56
>>385
良く読め、お前の「論破」とやらはは全て妄想。

388 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:03:56
>>387
反論するには具体的な反論を書き込むことが必要。
「妄想」とかいう言葉で誤魔化しても反論にはならない。

389 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:16:04
>>386
既に論破済みで>>365というから放置してたんだが、
>>365が論破されるとまた蒸し返すのか?

>>349
>>350
>>320で書いたとおり、*BSD,Solarisのコンパイル済みバイナリは/dev/tcpが使える。
従って*BSD,Solarisに関する質問では無い。質問の流れと関係の無い事実を持ち出して
もなんの論証にもならない。

>>351
> 「bashをいくら追求しても、Linuxじゃない限り/dev/tcpは使えない」と
> 思い込んでいる。
「/dev/tcpは使えない思っている」という妄想が前提の論証なので、反論不要。

390 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:19:16
>>389
> >>320 書いたとおり

>>320>>322 で即攻論破されてる。


>>365 に対する有効な反論はまだない。

391 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:20:26
>>387
「ディストリの問題だから犬板」
これに対するお前の「反論」とやらは「/dev/tcpを知らなかった」という妄想だけ。

392 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:22:06
>>389
最後の1行
>反論不要

つまり、反論できないことを認めたのですねw

393 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:23:30
>>390
アンカーは打っていないが、速攻(>>366)で論破済み。

394 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:24:10
>>391
よくよめ
「ディストリの問題ではなくconfigureの問題」
って、>>367 とか、もっと前でも言ってるぞ。

ディストリの問題でない以上、Linux板への誘導は間違い。

395 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:25:40
>>392
ついに小学生レベルに落ちたか www
「する必要のない事」と「出来ない事」の区別はつけようね。

396 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:26:13
>>393
>>366 がその根拠としている >>316 が論破されてるので、

>>365 に対する有効な反論はまだない。

397 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:31:35
>>394
下らん言いがかりなので放置してたが、しつこいので>>380で論破済み。
全てはお前の妄想と言いがかり。

>>396
お前の妄想であって論破になっていない事は論証済み。
お前が論破したと妄想しているのはどのレスだ?

398 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:32:22
>>391
百歩譲って「ディストリの問題」だったとしても、
だったら、
「ディストリの問題だからLiinux板」と言うだろ。

実際には、
「/dev/tcpの問題だから犬板」と言ったのだから、
やっぱり「/dev/tcpはLinux独自」と思い込んでいたことになる。

399 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:35:52
>>397
>>380 では論破では、「妄想」とか「予想」とかが前提になってるので、
論破できてない。

>>365 に対する有効な反論はまだない。

400 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:49:16
>>398
> 百歩譲って「ディストリの問題」だったとしても、
譲らずとも真実。

> 「ディストリの問題だからLiinux板」と言うだろ。
お前の妄想にすぎない。

>>399
お前が「妄想」を並べ立てて論証した気になっているだけ。
お前の「論破」は、「/dev/tcpを知らなかった」事を前提にした妄想の展開が全てであって、
「/dev/tcpを知らなかった」ことの客観的証明は一切ない。事実ではないのだから証明出来るわけが無い。
つまり、お前の論破とやらは「妄想」。

> >>365 に対する有効な反論はまだない。
お前が論破したと妄想してるのはどのレスだと聞いているのだ。笑ってやるから答えてみろ。

401 :名無しさん@お腹いっぱい。:2010/05/15(土) 11:55:28
>>400
>> 「ディストリの問題だからLiinux板」と言うだろ。
>お前の妄想にすぎない。


やっぱり、反論できないところになるといつも「妄想」ということにするよね。

お前が「妄想」という言葉を使ってるところはすべて「反論できません」の
降参のサインだと読み換えるよ。

402 :名無しさん@お腹いっぱい。:2010/05/15(土) 12:00:10
>>401
> 「ディストリの問題だからLiinux板」と言うだろ。
このように、客観的証明を出来ない、お前の一方的な思い込みを「妄想」と言っている。

403 :名無しさん@お腹いっぱい。:2010/05/15(土) 12:00:27
>>400
おまえ、もともとbashもLinuxも全然知らないんだろ。
知らないなら黙ってろが基本。
なのに、自分のFreeBSDに/dev/tcpが無いことから
/dev/tcpをLinuxのデバイスだと勘違いして、
駄目押しにbashのキーワードもあるから、
ただの嫌悪感のみでお前は「犬板行け」と書いてしまった。
それが間違いだとわかったのだから、
今度からbashとか/dev/tcpとか見ても、Linux板に誘導するなよw

404 :名無しさん@お腹いっぱい。:2010/05/15(土) 12:04:26
>>402
本当に「ディストリの問題」と思っているなら
「ディストリの問題」と言うはず。

実際には「/dev/tcpの問題」と言った。

これが等価だと主張するなら、
ディストリ=/dev/tcp
の等式が成り立たなければならない。
明らかに成り立たない。

よって、>>402 が言う一連のことはすべて論破された。

405 :名無しさん@お腹いっぱい。:2010/05/15(土) 12:05:23
>>403
ついに妄想全開だな。www

406 :名無しさん@お腹いっぱい。:2010/05/15(土) 12:07:37
>>405
はいはい、また「妄想」←(オマエ定義では「降参」)の言葉を使ったねw

で、>>404 にも反論してねw

407 :名無しさん@お腹いっぱい。:2010/05/15(土) 12:29:31
>>406
これキャッカンテキ論証のつもりなのかね。笑う。www

> 本当に「ディストリの問題」と思っているなら
真実だし、そのように言った。

> 実際には「/dev/tcpの問題」と言った。
言っていない。「/dev/tcpだから」と言った。

前提が捏造なので、これ以下の主張は単なる妄想。
> これが等価だと主張するなら、
> ディストリ=/dev/tcp
> の等式が成り立たなければならない。
> 明らかに成り立たない。

「/dev/tcpだから」で練り直してみなよ。www

408 :名無しさん@お腹いっぱい。:2010/05/15(土) 12:36:25
>>407
本当に「ディストリの問題だから」と思っているなら
「ディストリの問題だから」と言うはず。

実際には「/dev/tcpだから」と言った。

これが等価だと主張するなら、
「ディストリの問題」=「/dev/tcp」
の等式が成り立たなければならない。
明らかに成り立たない。
(余計に成り立たないw)

よって、>>402 が言う一連のことはすべて論破された。

409 :名無しさん@お腹いっぱい。:2010/05/15(土) 12:45:30
>>407
おお、足りないオツムで頑張ったようなので、相手してやろう。

論理学の等価とは二つの命題が共に真、もしくは共に偽の時に真となる演算だ。
「ディストリの問題だから」も「/dev/tcpだから」も命題になっていない。
よって、等価性を論じる事は不可能。

お前が論じたつもりになっているのは「文字列の同一性」。
わかる? www

410 :名無しさん@お腹いっぱい。:2010/05/15(土) 12:46:21
おっと、レス番間違えちまったぜ。

>>408
おお、足りないオツムで頑張ったようなので、相手してやろう。

論理学の等価とは二つの命題が共に真、もしくは共に偽の時に真となる演算だ。
「ディストリの問題だから」も「/dev/tcpだから」も命題になっていない。
よって、等価性を論じる事は不可能。

お前が論じたつもりになっているのは「文字列の同一性」。
わかる? www

411 :名無しさん@お腹いっぱい。:2010/05/15(土) 12:53:45
>>408
「ディストリの問題だから」と思ってる人が、
わざわざ言葉を変えて
「/dev/tcpだから」と言い替える客観的合理性が説明されてない。
断りなしに言葉を言い替えることができるのは、
その言葉同士が「同義」である場合に限る。

「ディストリの問題」と「/dev/tcp」は同義ではない。
よって、>>410 は論破された。

412 :名無しさん@お腹いっぱい。:2010/05/15(土) 12:59:13
>>411
> 断りなしに言葉を言い替えることができるのは、
> その言葉同士が「同義」である場合に限る。
お前の妄想世界ででっち上げたルール持ってくんなよ。www 小学生以下。www

論破完了。

413 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:04:51
>>412
また出た「妄想」、つまり、「降参」するんですねw


いずれにしても、この長いやりとりを見た人は
>>412 が /dev/tcpを理解してなかったと思うのは当然。
>>412 は「/dev/tcpを理解してた」と後出しで主張するが、
その根拠は結局示されなかった。
根拠を示せと何度言っても、返ってくる言葉は、
「妄想」と、「反論の必要なし」だけ。(反論自体はなし)


よって、>>412 は論壊された。

414 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:07:17
論壊なんて日本語初めて見たw

415 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:07:38
妄想じゃないなら、このルールが一般的であるというソース出せよ。www
> 断りなしに言葉を言い替えることができるのは、
> その言葉同士が「同義」である場合に限る。

416 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:15:35
>>413
お前が客観的論証なしに繰り返している戯言を「妄想」と言っている。 >>402参照。
ところが、お前の論破とやらは、その殆どが「/dev/tcpを知らなかった」という妄想に
基づく戯言なので客観的に論証など出来るわけが無い。

417 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:16:07
今の状況を整理すると、
>>412 (/dev/tcpを理解してない人)

は、100%の証拠で論破されてるが、>>412 自身は「妄想だ」とか言って
認めようとしない、という状況。

で、100%の証拠に拘らず、状況証拠も含めて考えても、
>>412 が/dev/tcpを理解してないと思うに足りる証拠が多数すでに書かれていて、
圧倒的に >>412 が不利。

100%の証拠については議論が硬直してるようだから、

状況証拠でもいいから >>412 が/dev/tcpを理解していたと納得できるような
証拠を出してみろよ。
それがない限り、みんな >>412 は/dev/tcpを理解していないと思ったままだよ。

418 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:19:55
横レスすまそ
>>416 は今までにbashで/dev/tcpを使ったことが(質問される以前に)あったの?

419 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:22:01
> 100%の証拠で
妄想を証拠と言っていいのは小学生だけ。www

> 状況証拠でもいいから >>412 が/dev/tcpを理解していたと納得できるような
知らなかったはずだと主張するお前に客観的な証拠での立証義務がある。

このルールのソースはどうした? 妄想ルールと言う事を認めるのか?
おまえはまだ15分ルールの撤回はしていないから >>415から15分以内な。
> 断りなしに言葉を言い替えることができるのは、
> その言葉同士が「同義」である場合に限る。

420 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:26:20
>>419
ということは、状況証拠は出せない(実際には/dev/tcpを知らなかったから)と
認めるんだな。

あくまで状況証拠だから、それだけでは >>419 はグレーゾーンだが、
>>419 が/dev/tcpを知っていた」という証拠がないし、
>>419 が/dev/tcpを知らなかった」という状況証拠が多数あるから、
疑いは晴れないままになるよ。それでもいいならこのままにしとけ。


>>418 にも答えてやれよ。

421 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:32:44
論点をすり替えるなよ。www

> > 100%の証拠で
> 妄想を証拠と言っていいのは小学生だけ。www
100%の証拠とやらはどれだよ。www
DNA鑑定の精度を超えている。www

妄想ルールのソースはどうした?
> 断りなしに言葉を言い替えることができるのは、
> その言葉同士が「同義」である場合に限る。

>>418は流れを読まないバカのようだから相手にする必要は無い。

422 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:34:22
100%と言い切るからには、100%で有るという鑑定書もあるんだろうな。
バカはどんどん墓穴を掘っていく。www

423 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:35:04
>>421
> >>418は流れを読まないバカのようだから相手にする必要は無い。

もし/dev/tcpを使ったことがあるなら「ある」と一言答えられるよな。
やっぱり/dev/tcpを使ったことなかったんだww

知らない分野の質問には口をはさまないほうがいいよ。

424 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:40:10
> もし/dev/tcpを使ったことがあるなら「ある」と一言答えられるよな。
はい、妄想。

425 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:46:47
ほら、100%の証拠と鑑定書はどうしたんだよ。降参か? www

426 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:56:59
>>424
「妄想」=「オマエの降参」

>>425
100%の証拠の議論とは別に、状況証拠でいいから >>425 の /dev/tcpに関する
知識レベルを聞いてるんだ。

このままだと >>425 は /dev/tcpを知らずに「知ったか回答」「誤誘導」をしたという
疑いが晴れない。
100%の疑いではなくても、疑いがあることに変わりはない。
疑いが晴れてない状態でいいなら反論しなくてもいいよw

427 :名無しさん@お腹いっぱい。:2010/05/15(土) 13:57:33
なんか荒れてるな。
しかし/dev/tcpってcygwinのbashでも使えるんだな。勉強になったわ。

428 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:00:04
>>426
100%の証拠があると言ったのはお前だぞ。 忘れたならアンカー打ってやる。>>417
その100%の証拠と鑑定書出せよ。www

出したら答えてやるよ。www

429 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:03:28
>>428
おれは答えてなんか要らないよ。

/dev/tcpを知っていたという状況証拠を出すことは、
オマエ自身の利益になること。
それを答えられなかったらオマエ自身の疑いが晴れないんだから。

で、結局答えないのなら、>>428 は/dev/tcpを知らなかったという疑い濃厚なまま
議論が打ち切られました、となる。

430 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:09:28
>>429
お前の論理
>>392
> つまり、反論できないことを認めたのですねw

でいくと、100%の証拠とやらは妄想だったという事を認めたのですねw
ことになるが、それで良いんだな? www

431 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:13:03
>>430
100%の証拠はすでに書いてる。(読み返せば済むこと)
で、そっちの議論は終ったので、
次に、
状況証拠レベルでさえオマエは出せないことを指摘してるんだ。

>>430 は/dev/tcpを知らなかった」という疑いが残ったままになれば
>>430 のプライドを潰すには十分だからね。

432 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:13:33
>>429

>>419の通り、知らなかったはずだと言いがかりをつけるお前が証拠を出し
て立証する義務がある。しかし、100%の証拠とやらは唐桟ながら妄想のよう
なので、妄想を元にした言いがかりと言う事がこれにて判明した。

433 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:16:02
>>431

> 100%の証拠はすでに書いてる。(読み返せば済むこと)
どのレスだよ。100%であるという鑑定書は? アンカー位うったらどうか? www

434 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:22:55
>>432 >>433
100%の証拠は、
>>349 >>350 >>351 に対する反論が無かったという事実、
及びその関連レスすべて。


で、100%の証拠の件にかかわらず、
お前のプライドも潰れた。

なぜなら、お前は/dev/tcpを知っていたとか、使ったことがあったとかいう
状況証拠すら出せなかったから、疑われたままになってる。

お前は口ぐせのように「妄想」と言うが、
自分が正しいなら、他人から間違った妄想をされてるだけでも嫌なはずだ。
現在、お前は「/dev/tcpを知らない人」と「妄想」されてる。
これだけでもプライドを潰すには十分。

# 実際には妄想ではなく事実。念のため。

435 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:23:39
しつこいので>>418も相手にしてやろう。
>>277からのレス読んだ上で、なぜ>>418の質問をしたんだ?

436 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:26:20
>>434
妄想を証拠と言っていいのは小学生だけ。ww
100%であるという鑑定書は?

> 現在、お前は「/dev/tcpを知らない人」と「妄想」されてる。
キチガイは妄想するのが仕事なので、お前が妄想しても何の痛痒も感じない。

437 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:27:29
訂正
× キチガイは妄想するのが仕事なので、お前が妄想しても何の痛痒も感じない。
○ キチガイやバカは妄想するのが仕事なので、お前が妄想しても何の痛痒も感じない。

438 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:29:11
>>436
「妄想」してるのはおそらく俺だけではない。

おまえは「/dev/tcpを知らない人」と「妄想」されてても平気なのかw
それで十分だ。お前のプライドは潰れたな。

439 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:39:48
>>438
> 「妄想」してるのはおそらく俺だけではない。
それ自体が、お前の妄想だから何の痛痒も感じない。

妄想である事を認め逃げ出すようだからまとめておこう。

これまでのまとめ
>>277がbashに関する質問をする
>>278がlinux板に誘導する
>>279が移動する。
>>279-284(除く>>283)が余計なレスを付ける
>>285が再度linux板へ誘導する。
>>286が妄想を元に言いがかりをつけ、以降粘着する。

440 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:42:53
なんか、ここ最近、言葉遣いがあれてるよね。
そんなに仕事無いの?>Unix系

441 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:48:55
>>439
>>439 自身が墓穴を掘ってる。

>>283 で正解レスがあったのに、その意味を十分理解せず、
それより「後」の
>>285 で、再度Linux板へ誘導している。← これが間違い。

>>363 が指摘してる致命症発言を再度貼っとく。

>この発言が致命症だね。
>「/dev/tcpだから犬板」とストレートに言ってる。
>弁解の余地なし。

「妄想だ」と言うのは結構。「妄想」であっても >>439 のプライドは潰れたのだから。

442 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:52:43
>>441
キチガイやバカは妄想するのが仕事なので、お前が妄想しても何の痛痒も感じない。

443 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:55:42
補足、
>>285 は、>>283 の「/dev/tcpの機能がdisableされてコンパイル」を、
bashではなく、Linuxカーネルのコンパイルのことと勘違いしていた。

だからこそ、>>285 で、
「Linuxカーネルのコンパイル時に設定する/dev/tcpの話だからLinux板へ行け」
と言う意味の発言をした

444 :名無しさん@お腹いっぱい。:2010/05/15(土) 14:57:21
> >>285 は、>>283 の「/dev/tcpの機能がdisableされてコンパイル」を、
> bashではなく、Linuxカーネルのコンパイルのことと勘違いしていた。
と妄想した>>443が粘着して妄想を書き散らした。

キチガイやバカは妄想するのが仕事なので、お前が妄想しても何の痛痒も感じない。

445 :名無しさん@お腹いっぱい。:2010/05/15(土) 16:02:21
ものすごいレス応酬を見たけど全部読み飛ばした

446 :名無しさん@お腹いっぱい。:2010/05/15(土) 16:04:58
これだけ仲が良いんだから、メアドでも交換し合えば良いのになw

447 :名無しさん@お腹いっぱい。:2010/05/15(土) 16:11:08
むぅ、たしかに

448 :名無しさん@お腹いっぱい。:2010/05/15(土) 19:18:35
これは質問も出来ない。

449 :名無しさん@お腹いっぱい。:2010/05/15(土) 21:27:10
>>445
正解。

450 :名無しさん@お腹いっぱい。:2010/05/15(土) 21:32:21
/dev/tcp だけ読んだ

でもCygwinじゃ使えなかったぜ!

451 :名無しさん@お腹いっぱい。:2010/05/15(土) 22:03:46
>>285 に対する反例が出たよ。

>>450 が言うように、Cygwinでも/dev/tcpがdisableでインストールされてることもある。

>>285 がLinux板に誘導したのは間違い。

452 :名無しさん@お腹いっぱい。:2010/05/15(土) 22:07:32
>>451
すでに妄想だと認めた(>>438)んだから、お前の負け。www

453 :名無しさん@お腹いっぱい。:2010/05/15(土) 22:18:20
>>452
よくよめ。

たとえ「妄想」だったとしても、お前のプライドは潰れてる。

実際には「妄想」ではなく事実だから、お前は100%論破されてる。

という、2段階の主張。

とりあえず、お前のプライドが潰れればそれでいいから、
「妄想」でもいいならそのままにしとけ。
たとえ「妄想」でも、「/dev/tcpを知らなかった人」と思われるのは
さぞかし悔しいだろうな。

454 :名無しさん@お腹いっぱい。:2010/05/16(日) 00:30:52
初歩的な質問でアレですが

foo='/hoge/spa ce.txt'

というようにスペースが含まれるファイルがあったとして、このファイルのbasenameをクォートするにはどうしたらよいのでしょうか?

echo "$(basename $foo)" だと spa になってしまうし、
echo $(basename "$foo") だと spa ce.txt (スペース1つ)となって、やはり spa と ce.txt が別トークンとして扱われてしまいます。
要するにダブルクォートをネストしたいということなのですが…

455 :名無しさん@お腹いっぱい。:2010/05/16(日) 00:32:54
2chだとスペースが1つにまとめられちゃうんですね。
本当は

foo='/hoge/spa___ce.txt' # _ はスペース

のように、スペースが複数入っていると考えてください

456 :名無しさん@お腹いっぱい。:2010/05/16(日) 01:29:45
>>453
お前は「妄想」していると明言している。これが100%の証拠って奴だよ。www
その言い訳、惨め過ぎるぞ。www
アク禁らしいから、解除されたらまたからかってやるよ。www
15分以上あるから足りないオツムで必死に考えてろ。www

>>438
> 「妄想」してるのはおそらく俺だけではない。
>
> おまえは「/dev/tcpを知らない人」と「妄想」されてても平気なのかw
> それで十分だ。お前のプライドは潰れたな。

457 :名無しさん@お腹いっぱい。:2010/05/16(日) 01:36:20
>>454
期待値がわからん。これじゃダメってこと?

$ cat a.sh
#!/bin/sh
foo='/home/spa              ce.txt'
bar=$(basename "$foo")
echo "$bar"

$ sh a.sh
spa              ce.txt



458 :名無しさん@お腹いっぱい。:2010/05/16(日) 01:53:40
>>457
あ、変数を経由すればいけるんですね!

bar=$(basename "$foo")

ここでも外側にダブルクォートが必要だと思い込んでました。ありがとうございます。
アホな質問してすみません><

459 :名無しさん@お腹いっぱい。:2010/05/16(日) 09:05:29
>>454 >>458
変数を経由しなくても行ける。

echo "$(basename "$foo")"

460 :名無しさん@お腹いっぱい。:2010/05/16(日) 09:12:28
>>458
変数に直接代入する場合は外側のダブルクォートは不要。

変数を使わずに直接 echoなどの引数にする場合は、
外側にもダブルクォートが必要(>>459 の方法)

ダブルクォートのネスティングみたいになるけど、
$( ) によって別の階層に分かれてるから、
エスケープとかなしにそのままダブルクォートを付けてOK。

もちろん、複数のスペースとかもそのまま保存される。

461 :名無しさん@お腹いっぱい。:2010/05/16(日) 09:25:57
>>459-460
なん・・・だと・・・
ネストできるわけないと思ってました。何でも試してみないとだめですね。
これができるんだったら色々楽になりそうです。ありがとうございます!

462 :名無しさん@お腹いっぱい。:2010/05/17(月) 21:53:46
>>460
へ〜、shのパーザー以外と頭良いな。 勉強になったわ。 bash限定という
事はないかな? 

463 :名無しさん@お腹いっぱい。:2010/05/17(月) 21:57:03
>>462
bash限定じゃねーよ。

ちなみに、$( ) の代わりに ` ` でもOK。

464 :名無しさん@お腹いっぱい。:2010/05/17(月) 22:31:26
ちなみにv7shだと…

foo='/home/spa ce.txt'
で no space って言われるんだが、移植ミスなのか?

他の手段で入れれば"`"のネスト自体はできるけど

465 :名無しさん@お腹いっぱい。:2010/05/26(水) 00:18:56
ちょっと手が滑ってへんな事がおきた。 bashで

$ cd //
$ pwd
//


どういう意味だろう? 3つ以上だと1つになる

$ cd ///
$ pwd
/


466 :名無しさん@お腹いっぱい。:2010/05/26(水) 01:15:22
//がネットワークルートを表すOSがある。それへの対応コードだろう。
emacsも同様に//を知っている。

467 :名無しさん@お腹いっぱい。:2010/06/03(木) 23:00:02
初心者です。
キーボードからの入力待ちの際、tab保管を有効にするにはどうしたらよいでしょうか?

#!/bin/csh
set file = $<
echo "ファイルは $file だよ"

上記のようなとき、filec+autolistのような挙動をしてくれることを望んでいます。
今日はじめてcshが駄目な事を知ったので、/bin/shでないことは御容赦ください・・・。

よろしくお願いします。


468 :名無しさん@お腹いっぱい。:2010/06/03(木) 23:43:52
>>467

#!/bin/bash
read -e file
echo "ファイルは $file だよ"

469 :466:2010/06/04(金) 00:34:58
>>467さん

bashならできるのですね(ググったらdash、zshとかいうのでもおkなのかな)。

人から貰ったcshスクリプトと組み合わせて使うため、
最初はbashスクを使ってasciiファイルに書き出してから、cshスクで読むとかになりそうですが
ゆくゆくは貰ったcshも全部bashに書き換えたいと思います。

ありがとうございました。


470 :467:2010/06/04(金) 00:43:13
$name++

>>468さんでした。
失礼しました。

471 :名無しさん@お腹いっぱい。:2010/06/04(金) 07:46:38
そこまでcshを嫌う必要はないだろう
簡単なものならcshの方がいい場合もある

472 :名無しさん@お腹いっぱい。:2010/06/04(金) 10:06:00
>>465
http://tiswww.case.edu/php/chet/bash/FAQ
のE10

473 :名無しさん@お腹いっぱい。:2010/06/05(土) 01:33:35
質問です。
以下のソースでは入力がhogeかそれ以外の文字列の場合は期待通りに動くんですが、文字列を入力しなかった場合は
line 6: [: =: unary operator expected
とエラーが出ます。これはどうやれば防げますか?

#! /bin/sh

echo "input? "
read i

if [ $i = "hoge" ];
then
 echo "input is 'hoge'"
else
 echo "other"
fi


474 :名無しさん@お腹いっぱい。:2010/06/05(土) 01:37:47
"$i"

475 :名無しさん@お腹いっぱい。:2010/06/05(土) 01:51:39
>>474
なんという…ありがとうございます。

476 :名無しさん@お腹いっぱい。:2010/06/15(火) 23:04:34
1ヶ月の最初の日曜日を表示させるには・・・・・・
なんかいいコマンドありますか?

find /var/www/data -name hoge を毎月1回最初の日曜日に実行して
インデックス作りたいんす

477 :名無しさん@お腹いっぱい。:2010/06/15(火) 23:16:56
cronで日曜に起動して日付が7以下かどうか調べれば?
逆でもいいけど。

478 :名無しさん@お腹いっぱい。:2010/06/15(火) 23:32:49
0 0 1-7 * * [ "$(date +%a)" == "Sunday" ] && command -args

こうですか?

479 :名無しさん@お腹いっぱい。:2010/06/15(火) 23:41:12
>>476
date -d `date +%d`' days ago 1 day next sunday'


>>477
それをやりたくないから質問してるんだろ

480 :名無しさん@お腹いっぱい。:2010/06/15(火) 23:43:36
>>477 その発想はいいですね、考え付きませんでした
>>479 days ago ですか!date は奥が深いですね

いろいろとありがとうございますたー!

481 :名無しさん@お腹いっぱい。:2010/06/15(火) 23:49:22
>>476
これじゃだめ?
cal ${month} ${year} | awk '/^ ?[0-9]+{print $1}' | head -1


482 :名無しさん@お腹いっぱい。:2010/06/15(火) 23:56:07
>>481 ありがd >>479 と at を使って何とかなりますたたた

cal って便利なんだけど awkで整形して使うのは面白い技ですね
みなさんいろいろ技があるんですね、勉強になります

そろそろCも覚えなきゃなぁ
やることいっぱいですorz


483 :名無しさん@お腹いっぱい。:2010/06/16(水) 00:06:52
>>479
こんな環境もある
% date -d `date +%d`' days ago 1 day next sunday'
usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
[-f fmt date | [[[[[cc]yy]mm]dd]HH]MM[.ss]] [+format]
%


484 :名無しさん@お腹いっぱい。:2010/06/16(水) 00:19:06
おお〜 環境依存ですか

>>483 これ空鼠?

485 :名無しさん@お腹いっぱい。:2010/06/16(水) 00:28:20
>>484
いあ FreeBSD. つか, *BSD 全部だと思う.
つか, GNU 拡張 date じゃないと通らへんちゃう?


486 :名無しさん@お腹いっぱい。:2010/06/16(水) 00:34:31
days ago なんて知らないと思ったら拡張date だったのですか
うちのCentOSでは動いてしまったので気付かなかったw
あとで会社のFreeBSDで試して見ます(ヲ

487 :名無しさん@お腹いっぱい。:2010/06/17(木) 03:26:50
FONに入れたOpenWrtからTwitterに投稿したいためだけに
シェルスクリプトでOAuth認証できるクライアントを書いたw
Perlとか入れなくても標準環境にopensslとcurl入れるだけで動くからいいわ

488 :名無しさん@お腹いっぱい。:2010/06/18(金) 00:25:21
BSDだったら-vの組み合わせで何とか出来そうですね。手元に環境ないから
試せないけど。


489 :名無しさん@お腹いっぱい。:2010/06/18(金) 18:29:26
これ見てよ↓
http://livedoor.2.blogimg.jp/agomesu/imgs/5/8/58ff257e.jpg
ばらまこうぜ!


490 :名無しさん@お腹いっぱい。:2010/06/20(日) 04:42:59
ubuntuでifconfig eth0のMACアドレスを":"を"-"に変えてMACアドレスのみ表示したいのですがどのようにすればよいでしょうか?
初歩的な質問で申し訳ありません。

491 :名無しさん@お腹いっぱい。:2010/06/20(日) 07:14:26
>>490
シェルスクリプト総合@LINUX Part5
http://pc11.2ch.net/test/read.cgi/linux/1238764663/

怒られる前に早く逃げろ

492 :名無しさん@お腹いっぱい。:2010/06/20(日) 10:03:33
>>490

ifconfig eth0 | sed -n '/.*HWaddr /{s///; s/:/-/gp}'

493 :名無しさん@お腹いっぱい。:2010/06/20(日) 14:58:13
ありがとうございました。
Linux板で聞くよりこっちで聞く方が早いですね。

494 :名無しさん@お腹いっぱい。:2010/06/20(日) 23:49:41
> 421 :名無しの報告 :2010/06/18(金) 18:37:13 ID:wsULoapS0
> おいちゃんこれお願い
>
> http://pc12.2ch.net/test/read.cgi/unix/1266642605/489 2010/06/18 18:29:26
>
> 422 :名無しの報告 :2010/06/18(金) 18:39:13 ID:9cXOXF/h0
> >>421
> 100618 危険!!外国人参政権画像マルチポスト報告 3
> http://qb5.2ch.net/test/read.cgi/sec2chd/1276851966/
>
> これだろここに直接持ってくるなよ
>
> 423 :名無しの報告 :2010/06/18(金) 18:39:51 ID:DZt17tze0
> >>421
> 削除人?じゃないならやめなさい
>
> 424 :名無しの報告 :2010/06/18(金) 18:40:07 ID:wsULoapS0
> はーい
> ごめんなさい

495 :名無しさん@お腹いっぱい。:2010/06/21(月) 21:28:31
2ちゃんに自動的に書き込むようなスクリプトは既出ですか
nc辺りで書こうかと思うのだけど

496 :名無しさん@お腹いっぱい。:2010/06/21(月) 22:30:52
>>495
根性試しでないならcurlとか使えばいいんじゃね?



497 :名無しさん@お腹いっぱい。:2010/06/21(月) 22:34:18
やっぱ/dev/tcp(笑)だろ

498 :名無しさん@お腹いっぱい。:2010/06/21(月) 22:56:57
>>495
Age2ch Part14
http://pc12.2ch.net/test/read.cgi/software/1118219419/

499 :名無しさん@お腹いっぱい。:2010/06/27(日) 01:04:50
wc -lで行数求める場合って、なんで先頭にタブ(空白かも)が入るんだろうね。
おかげで、-eqで比較しようとしてもちゃんと比較できなかったりして困るんだよね。


500 :名無しさん@お腹いっぱい。:2010/06/27(日) 01:29:20
>>499
awk '{print $1}' とかで切り出せば余分な空白は無くなる。



501 :名無しさん@お腹いっぱい。:2010/06/27(日) 01:57:41
$ test ' 0' -eq 0 && echo EQ
EQ

502 :名無しさん@お腹いっぱい。:2010/06/27(日) 08:45:20
>>499
GNU wc は、wc -l とか wc -c とかの時、余分な行頭スペースは入らない。

503 :名無しさん@お腹いっぱい。:2010/06/27(日) 09:17:16
>>500
awkなんか使わなくても、
[ `wc -l < file` -eq 123 ]
でいいだろ。
"`wc -l .. `" じゃなくて単に `wc -l ...` にする。

>>501
シェル依存。
$ test ' 0' -eq 0 && echo EQ
test: 0: bad number

504 :名無しさん@お腹いっぱい。:2010/06/27(日) 18:16:27
初歩的な質問だと思うんですが
bashでテキストファイルで空欄があるところを改行に変換するシェルスクリプトを作りたいんですが
どうすればよいでしょうか?

505 :名無しさん@お腹いっぱい。:2010/06/27(日) 19:18:38
まず服を脱ぎます

506 :名無しさん@お腹いっぱい。:2010/06/27(日) 19:26:54
>>504
man tr

507 :名無しさん@お腹いっぱい。:2010/06/27(日) 19:57:24
#!/bin/bash

man tr < file.txt

ってやってみましたが、動作が変です。

508 :名無しさん@お腹いっぱい。:2010/06/27(日) 20:23:38
いいから man tr しなよ。


509 :名無しさん@お腹いっぱい。:2010/06/27(日) 20:25:31
こうですかぁ??

----
#!/bin/bash

いいから man tr < file.txt
----

510 :名無しさん@お腹いっぱい。:2010/06/27(日) 20:34:58
粘着キチガイ犬はこのスレにも粘着してるのか?

511 :名無しさん@お腹いっぱい。:2010/06/27(日) 23:28:39
相手すんな。

512 :>>499:2010/06/29(火) 01:20:15
>>503
thanks.



513 :名無しさん@お腹いっぱい。:2010/07/27(火) 03:09:25
初歩的なものですみません。

#!/bin/bash
hostname
$hostname = `hostname`
echo $hostname

上記のシェルスクリプトを実行すると
hostnameだけの行はしっかり標準出力にホスト名が表示されるのですが、
$hostname = `hostname`で command not foundと怒られてしまいます。
なぜでしょうか・・・?

514 :名無しさん@お腹いっぱい。:2010/07/27(火) 03:19:29
すみません・・・。
#!/bin/bash

hostname
hostname = `hostname`
echo $hostname

でした。結果が
=
とだけ表示されてしまいます。標準出力の結果が変数に入っていないのでしょうか

515 :名無しさん@お腹いっぱい。:2010/07/27(火) 03:23:09
hostname=`hostname`

516 :名無しさん@お腹いっぱい。:2010/07/27(火) 03:27:38
>>515
ありがとうございます。解決しました。
いろいろやってたら、間違ってhostnameに=を設定してしまっていたことも重なっておりました。

517 :名無しさん@お腹いっぱい。:2010/07/27(火) 13:02:18
nxt .. g@foo.txt r@ n@bar.txt .

518 :名無しさん@お腹いっぱい。:2010/07/28(水) 21:03:26
xargsの-Pオプションってありますよね。
マルチコアの上で動かすときに重宝しています。

しかし、例えば
for i in *.jpeg
do
convert $i `basename $i .jpeg`.png
done
のような多少複雑な操作をxargs -Pのような形で簡単に並列実行することはできるでしょうか?
"args"だけでなくてリダイレクトにも使用できることを望んでいます。
# 普段はzsh使ってるので for i in *.jpeg; convert $i $i:r.png とか書いてますが

zargsのような、zshに依存するやり方でも構いません。
ご存知でしたら教えていただければ幸いです。

519 :名無しさん@お腹いっぱい。:2010/07/28(水) 21:09:45
>>518
単純にバックグラウンドで、

for i in *.jpeg
do
convert $i `basename $i .jpeg`.png &
done
wait

でいいんじゃないの。
それよりスペースや特殊記号入りファイル名の対応の方が気になる。

520 :名無しさん@お腹いっぱい。:2010/07/28(水) 21:28:09
それってファイルが何千とあったら醜い事にならんか?

521 :名無しさん@お腹いっぱい。:2010/07/28(水) 21:42:38
>>519-520
ありがとうございます。
変換する元のファイルも基本的に自分で作成するつもりなので、
ファイル名は「行儀のいい」ものと仮定して、スペースや特殊記号は特に意識していませんでした。

その代わり、ファイル数は100?のオーダーを考えているので、
バックグラウンドに全部一気に詰め込むのではなく、
最大並列プロセス数を与えて、その数だけ常に動かしつづけてくれる仕組みが欲しいのです。


522 :名無しさん@お腹いっぱい。:2010/07/28(水) 21:43:44
>>521
すみません、文字化けしてます。
×ファイル数は100?のオーダー
○、ファイル数は100 - 10000のオーダー
です。

523 :518:2010/07/29(木) 13:56:52
とりあえず自己解決しました。
zsh依存ですが、例えば

function jpeg2png(); convert $1 $1:r.png
zargs -P4 -n1 -- $(echo *.jpeg|sed -e 's/ /\n/g') -- jpeg2png

とか。
ワンライナーで書きたかったのですが、これ以上にいいやり方ありますかね。
あと、$()の中が若干不細工ですが。

524 :名無しさん@お腹いっぱい。:2010/07/31(土) 10:29:17
コマンドラインのオプションはgetoptsで処理しますが、--を先頭に付けた
複数文字のオプションの処理はどのようにやるのが一般的なのでしょうか?

525 :名無しさん@お腹いっぱい。:2010/07/31(土) 11:28:10
誘導されてきました。

プログラムで質問があります。
/hoge/test/
の中に
1filename1.gif
1filename2.gif
2filename1.gif
2filename2.gif
があるとします。

# sh /hoge/test/*filename*
という感じにコマンドを入力すると
それらの複数のファイルが

command /hoge/test/1filename1.gif -option /aaa/bbb/1filename1.jpg
command /hoge/test/1filename2.gif -option /aaa/bbb/1filename2.jpg
command /hoge/test/2filename1.gif -option /aaa/bbb/2filename1.jpg
command /hoge/test/2filename2.gif -option /aaa/bbb/2filename2.jpg

って感じにファイルが無くなるまで全て、コマンドを実行したいのですが
どうすればいいのでしょうか??

526 :名無しさん@お腹いっぱい。:2010/07/31(土) 11:36:52
>>525
for f in "$@"
do
echo command "$f" -option "${f%%.gif}".jpg
done

527 :524:2010/07/31(土) 12:29:25
自己解決しました。

528 :名無しさん@お腹いっぱい。:2010/07/31(土) 12:51:27
回答しようと思ったけど自己解決したようだからやめるね

529 :名無しさん@お腹いっぱい。:2010/07/31(土) 14:03:44
getopt_long

530 :名無しさん@お腹いっぱい。:2010/07/31(土) 14:07:36
それはC型言語

531 :524:2010/07/31(土) 14:39:07
getoptに-lオプション付けて使うんですよね。
これって常識でしたか(笑)。

532 :名無しさん@お腹いっぱい。:2010/07/31(土) 14:42:34
でも、getoptを使うとスペース入りのファイル名がうまく扱えなくなる問題があるんだよね

533 :524:2010/07/31(土) 14:48:53
-oオプションを付ければ良いようですよ。
それと$@なんかは"で囲う必要あり。

534 :名無しさん@お腹いっぱい。:2010/07/31(土) 14:52:31
BUGS
Arguments containing white space or embedded shell metacharacters
generally will not survive intact; this looks easy to fix but is not.

173 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)