トップページunix
985コメント289KB

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん@お腹いっぱい。2007/02/15(木) 14:28:44
シェルスクリプトの総合スレです。
スクリプトのお勉強・自慢・腕試しなどにどうぞ。
まずは注意点、リンク、地鎮祭など(>>1-6くらい)をご覧ください。


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

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

前スレ
シェルスクリプト総合 その7
http://pc10.2ch.net/test/read.cgi/unix/1157601611/
0946名無しさん@お腹いっぱい。2007/08/04(土) 21:54:59
>>945
邪魔だと言っている。

意味が分からないならお得意の広辞苑を引いてくれ。
0947名無しさん@お腹いっぱい。2007/08/05(日) 18:41:23
エアコンの室外機が壊れたんですが
お金がないのです
どうしたらいいでしょうか?
09489262007/08/05(日) 18:59:36
>>930-945
夜勤明けに遊びに行って、帰ってきたらば
この有様w
板違いだけど感受性がおもしろすぎて、嬉しくなるねぇ。

ちなみに(負の)probabilityってのは、
negativeな蓋然性の意味で用いた訳だが・・

あ、あと「マイナスの確率」ってのも
概念的には存在しうるね。
(数学ではなく統計学になるけど
日本語として間違いでは無いよね)
虚数よりは遥に理解しやすい。
0949名無しさん@お腹いっぱい。2007/08/05(日) 19:53:10
>>948
土曜に夜勤か。ご苦労さん。
俺は優雅な休日だった。
0950名無しさん@お腹いっぱい。2007/08/05(日) 23:00:59
>>948
符号付(確率)測度なんて、数学では大して珍しくも無い概念だが…?
0951名無しさん@お腹いっぱい。2007/08/06(月) 07:38:00
ハッシュ汽盆!!
0952名無しさん@お腹いっぱい。2007/08/06(月) 16:33:27
自己顕示欲の固まりが集まるスレはここでつか?
0953名無しさん@お腹いっぱい。2007/08/06(月) 20:18:07
その確立200%
0954名無しさん@お腹いっぱい。2007/08/06(月) 20:23:11
まあ、おれは例外だけどなw
0955名無しさん@お腹いっぱい。2007/08/06(月) 21:15:58
>>953
×確立
○確率

国語苦手かよw
0956名無しさん@お腹いっぱい。2007/08/07(火) 00:56:36
200%も突っ込みどころだろw
0957名無しさん@お腹いっぱい。2007/08/08(水) 03:18:10
すみません。
シェルスクリプトというかコマンド一発で
デバイス(eth0とかeth1とか)を出力することってできますか?
もしよかったらコマンド一発でおしえてください。お願いします。
0958名無しさん@お腹いっぱい。2007/08/08(水) 03:57:05
くだ質へいきなさい。
0959名無しさん@お腹いっぱい。2007/08/08(水) 09:44:57
Linuxの話ならこっちな。
くだらねえ質問はここに書き込め! Part 150
http://pc11.2ch.net/test/read.cgi/linux/1185111932/
0960名無しさん@お腹いっぱい。2007/08/08(水) 09:52:29
すみません。
シェルスクリプトというかコマンド一発で
デバイス(fxp0とかde1とか)を出力することってできますか?
もしよかったらコマンド一発でおしえてください。お願いします。
0961名無しさん@お腹いっぱい。2007/08/08(水) 10:04:34
つまんね。
0962名無しさん@お腹いっぱい。2007/08/08(水) 10:26:35
>>960
まずはいっぱつやらせろ。話はそれからだ。
0963名無しさん@お腹いっぱい。2007/08/08(水) 10:50:43
アッーーーーーー!
0964名無しさん@お腹いっぱい。2007/08/08(水) 16:53:39
ふむ
analyzeってことか
0965名無しさん@お腹いっぱい。2007/08/08(水) 17:40:37
くそつまんねえネタはやめろ
0966名無しさん@お腹いっぱい。2007/08/08(水) 18:08:48
ふむ
お通じ快適ってことか
0967名無しさん@お腹いっぱい。2007/08/08(水) 21:00:51
くそスレ化するかどうかのふんばり時だな
0968名無しさん@お腹いっぱい。2007/08/09(木) 21:06:16
CentOS Linux on Xen
tcsh 6.13.00

たまになんだけど、
cd dir
ls | echo 1
ls | echo 1 ; echo
ってやったあとに
ls
って打つとtcshが固まるのは何故??

バージョンあげれですかそうですか。
0969名無しさん@お腹いっぱい。2007/08/09(木) 21:10:05
>>968
それはXenとかCentOSにフィードバックしてあげれば?

スレ違いとか板違いっぽいけど
0970名無しさん@お腹いっぱい。2007/08/09(木) 21:10:47
>>968
くそスレ化のための燃料ですか?
0971名無しさん@お腹いっぱい。2007/08/09(木) 21:12:46
>969
はえーなw
そうするわ<フィードバック

再現できた。
ls | echo 1^C
ls
0972名無しさん@お腹いっぱい。2007/08/10(金) 10:31:14
aシェルの中でbコマンドをバックグラウンドで実行した場合、
bはまだ実行中だけど、aが終了したときにbにシグナルを送って強制的に終了することってできますか?

0973名無しさん@お腹いっぱい。2007/08/10(金) 11:10:07
>>972
trap "kill $pid;kill -0 $pid && { sleep 1;kill -9 $pid; }; :" EXIT
0974名無しさん@お腹いっぱい。2007/08/10(金) 11:33:26
>>973
trap: Illegal number: EXIT
0975名無しさん@お腹いっぱい。2007/08/10(金) 13:18:19
>>974
trap "kill $pid;kill -0 $pid && { sleep 1;kill -9 $pid; }; :" 0
0976名無しさん@お腹いっぱい。2007/08/10(金) 13:26:23
スクリプトで排他制御をする手っ取り早く確実な方法は何でしょうか?
セマフォ使えればいいんだけど、そんなコマンドないもんね・・・
0977名無しさん@お腹いっぱい。2007/08/10(金) 13:38:33
>>973
ありがとうございます。
ちなみにSIGKILLはどうしようもないですよね・・・
0978名無しさん@お腹いっぱい。2007/08/10(金) 13:41:55
子の側でときどき親が生きてるか確認する、とか。
0979名無しさん@お腹いっぱい。2007/08/10(金) 13:47:20
>>976
FreeBSDには
LOCKF(1) FreeBSD General Commands Manual LOCKF(1)
NAME
lockf -- execute a command while holding a file lock
がある。
0980名無しさん@お腹いっぱい。2007/08/10(金) 23:17:10
>976
lockf は簡単だけど無ければ mkdir を使うんじゃね?
0981名無しさん@お腹いっぱい。2007/08/11(土) 19:03:37
ksh93での質問です。

typeset -A で連想配列を使用したいんですが、ksh93でKey値の一覧を取得する方法ってあるんでしょうか?
(Perlでいうとkeys関数みたいな感じで)
0982名無しさん@お腹いっぱい。2007/08/11(土) 20:05:44
ksh93をつかっているUnixってあるんだな。
0983名無しさん@お腹いっぱい。2007/08/11(土) 21:25:48
>>982

ソースが公開されてんのって、ksh93だから、LinuxやFreeBSDとかでもpdksh以外のkshを使おうとすると、ksh93になるよね。
逆にksh88的に使いたいならpdkshになるんだけど、pdkshはpdkshでksh88とは振る舞いが結構違うのでいたいところがあるね。
商用系のUnixだと、AIXは/bin/ksh93がksh93、/bin/kshはksh88。HP-UXやSolarisはどうなんだろ?一応、ksh93は存在するみたいだけど・・・
0984名無しさん@お腹いっぱい。2007/08/11(土) 22:08:09
HP-UX11iv1とSolaris8/9/10はksh88しかない。
0985名無しさん@お腹いっぱい。2007/08/11(土) 23:31:11
posix-sh をつかうとか
レス数が950を超えています。1000を超えると書き込みができなくなります。