08/03/27 19:56:21 ORW3s1IJ
>>861
emerge beautiful_girl
863:login:Penguin
08/03/27 23:51:02 QsCLAAyg
>>851-857
pstreeだと思うんだ・・
864:login:Penguin
08/03/28 00:18:06 jk3nWqNP
>>863 find / だけど?
865:login:Penguin
08/03/28 00:18:55 deyesKz0
>>864
そだったw
866:789
08/03/28 01:42:56 QgSpL7VJ
にやにや
もりあがってんじゃねーかw
867:login:Penguin
08/03/28 01:46:42 deyesKz0
>>866
javascriptをjavaと呼ぶひと、こんばんはw
868:login:Penguin
08/03/28 14:06:32 Z7X2dF3N
cshで質問です。
下記のように変数をperlに渡したいんですが、変数を認識してくれません。
どうすれば良いですか?
set hoge = funi
perl -pe 'print $hoge' file
869:login:Penguin
08/03/28 15:16:41 KjmTtujq
>>868
シングルクォートをダブルクォートに変える
870:login:Penguin
08/03/28 15:47:45 Z7X2dF3N
>>869
ありがとうございます。
試してみましたが、ダメのようです。
setenvで与えると上手く行きましたが、setで出来る方法も知りたいです。
871:login:Penguin
08/03/28 16:04:18 UFHtgKJC
無理。
あえてやるなら
perl -e 'print "'"$hoge"'"'
これはperlに print "funi" という式を渡したに等しい。
872:login:Penguin
08/03/28 17:22:58 Z7X2dF3N
>>871
ありがとうございます。
やってみたら出来ました。
意味は分かんないのでこれから調べてみようと思います。
873:login:Penguin
08/03/28 17:26:00 s6QtoqP9
csh じゃなきゃいかんの?
sh 系で書いた方がいいんじゃない?
874:login:Penguin
08/03/29 22:39:26 Je2/7f5V
リダイレクト 「>&-」 (ディスクリプタ番号に 「-」 を指定した場合) の振舞いについて記述している manpage を探しています。
(manpage でなくともそれに準ずる文書であれば構いません)
JM Project の bash(1) などや google で検索してみたのですが見つかりません。
>&- を使用しているシェルスクリプトは見つかりましたが、そこには正式な説明はありませんでした。
google って記号検索がとても弱いようなので シェルスクリプトとか GAME言語みたいな記号で頑張るタイプのを探すのは大変。
何か効果的な検索技があるんですかね。
875:login:Penguin
08/03/29 22:48:22 6BdICwv7
シェルスクリプトで連番を振る際に
1から100を1、2、3…ではなく
001、002、003…と出力させたい場合どうしたらよいでしょう?
val=1
while $val lt 100
do
echo $val
val=expr`$val+1`
done
876:login:Penguin
08/03/29 22:53:17 z7EKOxA5
>>875
for i in {0..9}; do printf "%03d\n" ${i}; done
877:login:Penguin
08/03/29 22:57:09 ZodWq0Ht
printfが嫌なら echo "000$i" | sed 's/0*¥(...¥)$/¥1/'
878:874
08/03/29 23:01:58 Je2/7f5V
すみません。事故解決しました。 JM Project の bash(1) に記述されてました。
879:875
08/03/29 23:02:33 6BdICwv7
>>876-877
凄まじくソッコーのレス ありがとうございます。
形式を指定してるってことくらいは分かりました。
調べてきます!
ありがとございました。
880:login:Penguin
08/03/29 23:06:18 z7EKOxA5
>>875
単純に、必要な個数の名前のリストがありゃいいだけなら、
これでもいいと思う。
seq -f "moe_ero_guro_%03g.png" 0 9
881:login:Penguin
08/03/29 23:16:52 U1N+QPd9
>>876
{0..9} は bash3 じゃないと動かないはず。
まだ bash 2.05b の環境ってけっこうあるよね?
882:login:Penguin
08/03/29 23:19:47 ZodWq0Ht
seqは、あーここLinux板だからまず間違いなく入ってるな。
883:login:Penguin
08/03/29 23:23:13 ZodWq0Ht
seqだととびとびの値とかも作れるんだが、
単に連番がつくりたいとき個人的によくやるのは
yes '' | cat -n | sed 100q
とか。
884:login:Penguin
08/03/29 23:30:36 WiwCN3W0
seqって便利だね。知らんかった。
seq -f %03g 1 100
885:login:Penguin
08/03/29 23:33:55 z7EKOxA5
>>881
聞かれたから一応、答えておこう。そんな環境は知らん。
bash 2.05bなのはRHEL3かVineか、2005年ぐらいで閉鎖空間へ移行したやつだけだろ。
886:login:Penguin
08/03/29 23:36:52 WiwCN3W0
そうなのか。ある意味Vine恐るべしだな。
887:874
08/03/29 23:41:18 Je2/7f5V
組込系だったりすると bash どころか busybox ん中の sh (ash) だったりもする。
La Fonera の seq は -f オプションなんか無いので
printf "%03d\n" `seq 1 10`
888:login:Penguin
08/03/30 00:08:49 36hI9fyL
この仕様は初めて知ったw
$ printf "%03d%03d\n" 1 2 3 4 5
001002
003004
005000
889:login:Penguin
08/03/30 00:34:47 91o/3wOF
おまいらのseq には -w ってオプション無いの?
seq -w 1 100
890:874
08/03/30 00:48:35 VLE1BQAD
BusyBox v1.1.3 (2006.11.21-19:49+0000) multi-call binary
Usage: seq [first [increment]] last
Print numbers from FIRST to LAST, in steps of INCREMENT.
-w ? そんなオプション見たこと無い。(笑)
891:login:Penguin
08/03/30 15:18:36 AAKkqqTb
拡張子の変換ってどうやってる?俺は
for f in *.hoge; do
mv $f ${f%.hoge}.fuga
done
っていちいち打ち込んでるんだけど、なんかいい方法ない?
892:login:Penguin
08/03/30 16:16:42 SBrBro/C
>>891
過去ログ読め。
893:login:Penguin
08/04/01 00:07:30 mTzNKv6N
ニコ動の動画IDをwgetで落とせる直リンに変換するスクリプトないっすか?
894:login:Penguin
08/04/01 00:12:45 +SHNTduy
>>893
仕様出てるだろ。
895:login:Penguin
08/04/01 00:12:57 bWFHq2/G
>>893
nicovideo-dl
896:login:Penguin
08/04/01 22:06:47 Mk5CpRwr
$ oppai
bash: oppai: command not found
897:login:Penguin
08/04/04 13:09:23 Lie/X+/S
質問させて下さい。
ubuntu7.1 server を使用しています。
シェルスクリプトを勉強し始めてLinuxの設定セットアップシェルを作ろうとしています。
■入力受付状態を省略し、自動入力にするにはどのようにすればいいのでしょうか?
例えばsambaのコマンドですが
smbpasswd -a root
をするとパスワードの入力を求められます。
普段なら手動でxxxxと入力するのですが、この作業を自動化したいのです。
色々調べてsedの使い方等はわかりファイルの書き換えによる設定はおおむね出来たのですが
上記のやり方は見つけることができませんでした。
どうかアドバイス頂けないでしょうか?
宜しくお願い致します。
898:login:Penguin
08/04/04 21:25:51 WDSwmhLm
>>897
Windowsから接続しているなら、TeraTermのマクロで何とかできるかもね。
ただユーザー名やパスワードが見えてしまう状態でファイルに保存するから
セキュリティ上には良くないかも
sambaの設定ファイルだけバックアップ取って
ユーザーとパスワードはその都度入力するのが無難かと
899:login:Penguin
08/04/05 11:09:58 co3/wC9l
>>897
expectスクリプト
expectに突いてくるサンプルを読んで
900:login:Penguin
08/04/05 11:16:23 co3/wC9l
すまん、サンプルついてないわ。
apt-get source expect
して、サンプル見て。
901:login:Penguin
08/04/06 14:52:52 20te6qz4
シェルスクリプトできるけどPerlスクリプト出来ないやつなんなの?
902:login:Penguin
08/04/06 15:42:41 6d0Si0sC
単にawkとかpythonが好きなんじゃないの?
903:login:Penguin
08/04/06 17:08:40 Y81bdbYI
>>901
シェル・スクリプトは基本だが、perl は awk やら python やらのワン・オブ・ゼムに過ぎないので、それが普通。
MS-Windows95の頃、cgiはperlスクリプトでという謎の風潮があった名残で、あなたのような疑問が出て来るのだろう。
904:login:Penguin
08/04/07 02:13:58 WGY+O99D
>>903
そうそう。
別に、cgiがシェルスクリプトでも問題ないし(使いにくいけど)、なんでもいい。
perlだろうが難だろうが、所詮手段なんだから、どうでもいいじゃんw
905:login:Penguin
08/04/07 08:01:37 DKzh8iuy
>>901
多分、
同じ構造化手続き型言語なのに何で方言によって使える使えないみたいなこと言ってんの?
ということかと。
906:login:Penguin
08/04/07 20:27:53 ky4RCRjO
>>905
そうなら「シェル」スクリプトスレで何言ってんだこのバカは?
ってな話しにしかならんからそれはなかろ。
907:login:Penguin
08/04/08 00:22:25 xWC78uSv
つまり、シェルスクリプターはアホです。
908:login:Penguin
08/04/08 21:18:54 mlftshp4
Aho氏
URLリンク(en.wikipedia.org)
909:login:Penguin
08/04/08 21:20:29 L1HkWImv
ahoさんはawkの偉い人でしょ
910:login:Penguin
08/04/09 01:18:06 8anDW64k
フィンランドではよくある名字。
911:login:Penguin
08/04/09 01:40:20 vyKS0pT6
えっほ
912:login:Penguin
08/04/09 02:03:59 JRgbXb6K
スキーでアホネンさんっていたな
この人もフィンランドだったな
913:login:Penguin
08/04/09 13:12:39 vyKS0pT6
だれがあほやねん!
914:login:Penguin
08/04/09 18:16:40 pjxRKuKN
>>911,913
しょーもないレスして悲しくなってこないか?
915:login:Penguin
08/04/09 19:47:59 D07VbGXN
$ shoumo
bash: shoumo: command not found
916:login:Penguin
08/04/09 21:12:29 HudBzGNB
$ which show
/usr/local/mh/bin/show
なんていう時代もありました。
917:login:Penguin
08/04/11 16:25:19 3vnovWPW
000から999までリストを作りたいんですが、どうすればいいでしょう?
918:login:Penguin
08/04/11 16:30:16 p4V9vMAs
seq -w 0 999
919:login:Penguin
08/04/11 16:38:37 3vnovWPW
>>918
めちゃくちゃありがとうございます!!!
920:login:Penguin
08/04/11 16:41:55 h4xwic1O
最近の bash なら
echo 00{0..9} 0{10..99} {100..999}
zsh なら
echo {000..999}
921:login:Penguin
08/04/13 00:08:59 C50QhsEF
端末に他の端末から書き込むようなデーモンとクライアントが欲しいです
例として、mltermとurxvtを立ちあげ、
mltermでhogedを起動して、もうurxvtでhogec -e 'echo aaa'ってやったら
mltermの画面にaaaとか表示されるようなものです
同時に複数の作業をさせてるときにその進捗を1つのコンソールで見通せたらなとか思いまして…
922:login:Penguin
08/04/13 00:37:03 tBy+WuAg
適当なログファイルに書き出して、端末の方にはtail -f (tailf)で流せば
923:login:Penguin
08/04/13 08:41:28 LTuSsBD0
端末A $ echo 'term A' > /dev/console
端末B $ echo 'term B' > /dev/console
に類したことは、まれにやる。
924:login:Penguin
08/04/13 09:11:42 DHms7wov
>>921
mlterm$ screen
urxvt$ screen -x
925:login:Penguin
08/04/13 09:16:44 DHms7wov
つ ttysnoop
926:login:Penguin
08/04/13 10:23:50 +bcR3tRW
>>921
wall
927:login:Penguin
08/04/13 15:29:10 7nxEkg5V
>>924
それは違うんじゃね?
928:login:Penguin
08/04/14 21:52:01 yIAGZ+M9
rm -rf /*
┐('~`;)┌ モウツカレタ
929:login:Penguin
08/04/15 07:03:22 KF+FiULr
dd if=/dev/zero of=/dev/hda
930:login:Penguin
08/04/18 07:50:33 9axeonkq
運用しているマシンでちょっとした作業を行うとき、
nice bash したシェルで作業することがあるのですが、
いま自分が動かしているシェルの nice 値を簡単に
知る方法ってないですかね・・・
931:login:Penguin
08/04/18 08:23:44 JZJIXmIH
$ ps -o %n $$
そんなことも知らない人がniceするの?
それに対話型のコマンドにniceはあまり意味がない。
932:login:Penguin
08/04/18 09:08:39 9axeonkq
その中でmakeしまくるので
933:login:Penguin
08/04/18 09:57:57 JZJIXmIH
alias make='nice --adjustment=-30 make'
934:login:Penguin
08/04/18 11:45:33 u356hJZU
reniceじゃダメなんでしょうか?
935:login:Penguin
08/04/18 20:06:00 xUbq9+ce
alias nice='ジャズ + クラシック / ロック'
936:login:Penguin
08/04/18 23:11:33 cOa8NbkQ
nice boat.
937:login:Penguin
08/04/19 13:43:25 khf4hkQE
>>934
>reniceじゃダメなんでしょうか?
topでもいいよな。
938:login:Penguin
08/04/19 16:17:44 SCXXqtIf
bashのシェルスクリプトで、
文字列に正規表現のフィルタをかけたいのですが
以下の場合、なぜエラーになるかわかりません。
何が悪いですか?
expr `ps` : ".*"
-> expr: syntax error
var1="aaa"
expr $var1 : ".*"
-> expr: syntax error
939:login:Penguin
08/04/19 18:02:41 XPjpMm+j
expr "`ps`" : ".*"
var1="aaa"
expr "$var1" : ".*"
940:login:Penguin
08/04/19 20:46:24 SCXXqtIf
>>939
それで出来ました。ありがとうございます。
でも理由がいまいちわかりません。
” ”で囲っていない為 → 文字列型ではない為 → では$var1は何を返すのか?
941:login:Penguin
08/04/19 21:02:50 SyasDtFa
hdやbdみたいに 2進数表示するプログラムありませんか?
942:login:Penguin
08/04/19 22:41:34 QZlXANdf
>>941
od
943:login:Penguin
08/04/19 22:50:17 SyasDtFa
odだと2進数は表示ですう。
もう自分で作っちゃいました・
944:login:Penguin
08/04/20 10:43:22 C3cqRfnQ
>>940
>” ”で囲っていない為 → 文字列型ではない為 → では$va
>r1は何を返すのか?
確かに、おれも気になるぞ
945:login:Penguin
08/04/20 13:49:25 yhaYk8sL
なんというか、このスレで話をするための最低限の知識レベルを、>>940や941は遥かに割り込んでいる気がするんだが。
946:login:Penguin
08/04/20 14:55:30 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`」が通るんで矛盾しているなぁと思っていたんですが
よく考えるとそんなことは無かったですね。
947:login:Penguin
08/04/20 17:11:52 oNW0JD98
逆に文字列処理を一通りしてから実行させられるから、
>>938が最初考えていたみたいに単語区切りが強い場合より、
出来ることが増えるんだけどな。
その代わりプログラマがちゃんと構文構成の責任を持たないといけないけども。
948:login:Penguin
08/04/23 22:57:21 xEICV4cP
grepの結果で AAAとBBBのOR検索をしたいのですが、
tail -f /var/log/maillog | grep [AAA|BBB]
とやってもだめでしたorz
どうすれば、OR検索ができるのでしょうか?
ANDは、パイプで追加すれば可能なのですが・・。
949:login:Penguin
08/04/23 23:29:21 Y+58Od8z
なんで tail -f なんてする必要が有るんだ?
950:login:Penguin
08/04/23 23:33:35 M4AkpEZt
>>948
grep -E "(AAA|BBB)" もしくは
egrep "(AAA|BBB)"
951:948
08/04/24 04:44:09 8uaGXJVC
>>950
egrepでしたか、ありがとうございます。
>>949
1秒に100行以上流れるログなので、速すぎて読めないのよねw
952:login:Penguin
08/04/24 09:43:23 C5h8jkbM
一秒に100行以上流れるとか全然関係ないと思うぞ。
953:login:Penguin
08/04/24 10:09:04 iBrwQJHF
そんなにおかしいか?
おれもよくやるけどな。
954:login:Penguin
08/04/24 19:19:48 BuhR71Gk
>>952
logの監視は他にどんな手段でやってるの?
955:login:Penguin
08/04/24 19:42:01 28W2p82+
tail -fしても速く流れるのは変わらないだろ?
大きなファイルの増分だけ見たい時は有効だけど。
956:login:Penguin
08/04/24 19:54:48 iBrwQJHF
たとえば
tail -f access_log | grep 10.99.78.22
とかやっといて、10.99.78.22 からアクセスしながらログを見たりする。
tail -f access_log だけだとログが多過ぎるし
grep 10.99.78.22 access_log ではリアルタイムに見れない。
つーか、なんでそんなに否定したがるんだ?
957:login:Penguin
08/04/24 20:51:49 PIJRHfrL
そんなのは常識。
tail -fするのは、増分を見たいからだろ?
速く流れるのは関係ない。それはgrepの役目。
>>949に対する>>951の答えはおかしい。
それが読み取れない>>953も疑問。
958:login:Penguin
08/04/24 23:00:30 amh/02/G
>>956
基本だよな。それって。
959:login:Penguin
08/04/25 01:12:52 05aUO6OC
役に立たないのは949,952,957のレスだろ
つegrep -v '(949|952|957)'
960:login:Penguin
08/04/26 03:30:44 2buln9M4
ファイルを検索して、
ファイル名によって分岐させたいと思っています。
以下のようにスクリプトを書いたのですが、
if [ $file = *.o ]
がうまく動作してくれません。
どこが間違っているのでしょうか?
# $1はディレクトリ
for file in `find $1`
do
if [ -x $file ]; then
echo "x: Name=$file"
else
if [ $file = *.o ]; then # .oで終わるファイル
echo ".o: Name=$file"
else
echo "not .o: Name=$file"
fi
fi
done
961:login:Penguin
08/04/26 03:41:55 l2xr5sbr
[ $file = *.o ] の * がパス名展開されるから。
こういう時は case 文使うと楽。
case "$file" in
*.o) echo ".o: Name=$file" ;;
*) echo "not .o: Name=$file" ;;
esac
962:960
08/04/26 04:22:04 2buln9M4
>>961
ありがとうございます!
>* がパス名展開される
なるほどです。
今後のためにお聞きしたいのですが、
このままifで処理するには
どのようにしたらよいのでしょうか?
963:login:Penguin
08/04/26 05:02:51 +ITD/myA
expr でパターンマッチさせた結果を判定するのが常套手段だと思う。
でも解り易さで俺も>>961おすすめ。
shでなくbashやzshに依存するやり方で良いなら他にもあるので、manするとエエでがす。
964:960
08/04/26 11:07:16 2buln9M4
>>963
expr、なるほど。
C++やってるときも、caseなんてifがあるから要らね、
とか言ってるのをshにも持ち込んでしまったわけですが、
shではcaseを格上げします。
ありがとうございました。
965:login:Penguin
08/04/26 11:09:05 zBt65CRz
>>964
ざけんな。switchの方がコードの見通しがよくなる場面が多々ある。
適材適所だ。
966:login:Penguin
08/04/27 00:22:17 FoD+QJwV
一文字のみ、小文字を大文字に置換の方法、教えてください
_linux
から
_Linux
へ
(この場合、小文字lを大文字Lへ、一文字のみ)
trとかsedでぐぐってみましたが、すべての文字に適用される例のものばかりで。。。
967:login:Penguin
08/04/27 00:31:12 mG61TWcx
echo _linux | sed -e 's/[a-z]/\U&/'
968:login:Penguin
08/04/27 01:13:49 FoD+QJwV
>>967
ありがとうございます
期待通りの動作になりました、感謝