シェルスクリプト総合@LINUX Part3

このエントリーをはてなブックマークに追加
902login:Penguin:2008/04/06(日) 15:42:41 ID:6d0Si0sC
単にawkとかpythonが好きなんじゃないの?
903login:Penguin:2008/04/06(日) 17:08:40 ID:Y81bdbYI
>>901
シェル・スクリプトは基本だが、perl は awk やら python やらのワン・オブ・ゼムに過ぎないので、それが普通。

MS-Windows95の頃、cgiはperlスクリプトでという謎の風潮があった名残で、あなたのような疑問が出て来るのだろう。
904login:Penguin:2008/04/07(月) 02:13:58 ID:WGY+O99D
>>903
そうそう。
別に、cgiがシェルスクリプトでも問題ないし(使いにくいけど)、なんでもいい。

perlだろうが難だろうが、所詮手段なんだから、どうでもいいじゃんw
905login:Penguin:2008/04/07(月) 08:01:37 ID:DKzh8iuy
>>901
多分、

同じ構造化手続き型言語なのに何で方言によって使える使えないみたいなこと言ってんの?

ということかと。

906login:Penguin:2008/04/07(月) 20:27:53 ID:ky4RCRjO
>>905
そうなら「シェル」スクリプトスレで何言ってんだこのバカは?
ってな話しにしかならんからそれはなかろ。
907login:Penguin:2008/04/08(火) 00:22:25 ID:xWC78uSv
つまり、シェルスクリプターはアホです。
908login:Penguin:2008/04/08(火) 21:18:54 ID:mlftshp4
909login:Penguin:2008/04/08(火) 21:20:29 ID:L1HkWImv
ahoさんはawkの偉い人でしょ
910login:Penguin:2008/04/09(水) 01:18:06 ID:8anDW64k
フィンランドではよくある名字。
911login:Penguin:2008/04/09(水) 01:40:20 ID:vyKS0pT6
えっほ
912login:Penguin:2008/04/09(水) 02:03:59 ID:JRgbXb6K
スキーでアホネンさんっていたな
この人もフィンランドだったな
913login:Penguin:2008/04/09(水) 13:12:39 ID:vyKS0pT6
だれがあほやねん!
914login:Penguin:2008/04/09(水) 18:16:40 ID:pjxRKuKN
>>911,913
しょーもないレスして悲しくなってこないか?
915login:Penguin:2008/04/09(水) 19:47:59 ID:D07VbGXN
$ shoumo
bash: shoumo: command not found
916login:Penguin:2008/04/09(水) 21:12:29 ID:HudBzGNB
$ which show
/usr/local/mh/bin/show

なんていう時代もありました。
917login:Penguin:2008/04/11(金) 16:25:19 ID:3vnovWPW
000から999までリストを作りたいんですが、どうすればいいでしょう?
918login:Penguin:2008/04/11(金) 16:30:16 ID:p4V9vMAs
seq -w 0 999
919login:Penguin:2008/04/11(金) 16:38:37 ID:3vnovWPW
>>918
めちゃくちゃありがとうございます!!!
920login:Penguin:2008/04/11(金) 16:41:55 ID:h4xwic1O
最近の bash なら
echo 00{0..9} 0{10..99} {100..999}

zsh なら
echo {000..999}
921login:Penguin:2008/04/13(日) 00:08:59 ID:C50QhsEF
端末に他の端末から書き込むようなデーモンとクライアントが欲しいです
例として、mltermとurxvtを立ちあげ、
mltermでhogedを起動して、もうurxvtでhogec -e 'echo aaa'ってやったら
mltermの画面にaaaとか表示されるようなものです
同時に複数の作業をさせてるときにその進捗を1つのコンソールで見通せたらなとか思いまして…
922login:Penguin:2008/04/13(日) 00:37:03 ID:tBy+WuAg
適当なログファイルに書き出して、端末の方にはtail -f (tailf)で流せば
923login:Penguin:2008/04/13(日) 08:41:28 ID:LTuSsBD0
端末A $ echo 'term A' > /dev/console
端末B $ echo 'term B' > /dev/console
に類したことは、まれにやる。
924login:Penguin:2008/04/13(日) 09:11:42 ID:DHms7wov
>>921
mlterm$ screen

urxvt$ screen -x
925login:Penguin:2008/04/13(日) 09:16:44 ID:DHms7wov
つ ttysnoop
926login:Penguin:2008/04/13(日) 10:23:50 ID:+bcR3tRW
>>921
wall
927login:Penguin:2008/04/13(日) 15:29:10 ID:7nxEkg5V
>>924
それは違うんじゃね?
928login:Penguin:2008/04/14(月) 21:52:01 ID:yIAGZ+M9
rm -rf /*


┐('〜`;)┌ モウツカレタ
929login:Penguin:2008/04/15(火) 07:03:22 ID:KF+FiULr
dd if=/dev/zero of=/dev/hda
930login:Penguin:2008/04/18(金) 07:50:33 ID:9axeonkq
運用しているマシンでちょっとした作業を行うとき、
nice bash したシェルで作業することがあるのですが、
いま自分が動かしているシェルの nice 値を簡単に
知る方法ってないですかね・・・
931login:Penguin:2008/04/18(金) 08:23:44 ID:JZJIXmIH
$ ps -o %n $$

そんなことも知らない人がniceするの?
それに対話型のコマンドにniceはあまり意味がない。
932login:Penguin:2008/04/18(金) 09:08:39 ID:9axeonkq
その中でmakeしまくるので
933login:Penguin:2008/04/18(金) 09:57:57 ID:JZJIXmIH
alias make='nice --adjustment=-30 make'
934login:Penguin:2008/04/18(金) 11:45:33 ID:u356hJZU
reniceじゃダメなんでしょうか?
935login:Penguin:2008/04/18(金) 20:06:00 ID:xUbq9+ce
alias nice='ジャズ + クラシック / ロック'
936login:Penguin:2008/04/18(金) 23:11:33 ID:cOa8NbkQ
nice boat.
937login:Penguin:2008/04/19(土) 13:43:25 ID:khf4hkQE
>>934
>reniceじゃダメなんでしょうか?

topでもいいよな。
938login:Penguin:2008/04/19(土) 16:17:44 ID:SCXXqtIf
bashのシェルスクリプトで、
文字列に正規表現のフィルタをかけたいのですが
以下の場合、なぜエラーになるかわかりません。
何が悪いですか?

expr `ps` : ".*"
-> expr: syntax error

var1="aaa"
expr $var1 : ".*"
-> expr: syntax error
939login:Penguin:2008/04/19(土) 18:02:41 ID:XPjpMm+j
expr "`ps`" : ".*"

var1="aaa"
expr "$var1" : ".*"
940login:Penguin:2008/04/19(土) 20:46:24 ID:SCXXqtIf
>>939
それで出来ました。ありがとうございます。
でも理由がいまいちわかりません。

” ”で囲っていない為 → 文字列型ではない為 → では$var1は何を返すのか?
941login:Penguin:2008/04/19(土) 21:02:50 ID:SyasDtFa
hdやbdみたいに 2進数表示するプログラムありませんか?
942login:Penguin:2008/04/19(土) 22:41:34 ID:QZlXANdf
>>941
od
943login:Penguin:2008/04/19(土) 22:50:17 ID:SyasDtFa
odだと2進数は表示ですう。
もう自分で作っちゃいました・
944login:Penguin:2008/04/20(日) 10:43:22 ID:C3cqRfnQ
>>940

>” ”で囲っていない為 → 文字列型ではない為 → では$va
>r1は何を返すのか?

確かに、おれも気になるぞ
945login:Penguin:2008/04/20(日) 13:49:25 ID:yhaYk8sL
なんというか、このスレで話をするための最低限の知識レベルを、>>940や941は遥かに割り込んでいる気がするんだが。
946login:Penguin:2008/04/20(日) 14:55:30 ID:3JVOMAOF
>>938は、自分なりに考えた結果、以下のような結論になりました。

シェルスクリプトは、型だのなんだのはなくて
C言語でいう単純なマクロの展開レベルのものしかしない。


例えば、先の例だと、
expr `ps` : ".*"

expr PID TTY TIME CMD
2295 pts/1 00:00:00 bash
2407 pts/1 00:00:00 ps : '.*'

シンタックスエラーでNG


""で囲うと、
expr "`ps`" : ".*"

expr 'PID TTY TIME CMD
2295 pts/1 00:00:00 bash
2407 pts/1 00:00:00 ps' : '.*'

OK

「echo "aaa " `ps`」が通るんで矛盾しているなぁと思っていたんですが
よく考えるとそんなことは無かったですね。
947login:Penguin:2008/04/20(日) 17:11:52 ID:oNW0JD98
逆に文字列処理を一通りしてから実行させられるから、
>>938が最初考えていたみたいに単語区切りが強い場合より、
出来ることが増えるんだけどな。
その代わりプログラマがちゃんと構文構成の責任を持たないといけないけども。
948login:Penguin:2008/04/23(水) 22:57:21 ID:xEICV4cP
grepの結果で AAAとBBBのOR検索をしたいのですが、

tail -f /var/log/maillog | grep [AAA|BBB]
とやってもだめでしたorz

どうすれば、OR検索ができるのでしょうか?
ANDは、パイプで追加すれば可能なのですが・・。
949login:Penguin:2008/04/23(水) 23:29:21 ID:Y+58Od8z
なんで tail -f なんてする必要が有るんだ?
950login:Penguin:2008/04/23(水) 23:33:35 ID:M4AkpEZt
>>948
grep -E "(AAA|BBB)" もしくは
egrep "(AAA|BBB)"
951948
>>950
egrepでしたか、ありがとうございます。

>>949
1秒に100行以上流れるログなので、速すぎて読めないのよねw