シェルスクリプト総合@LINUX Part4
- 1 :login:Penguin:2008/05/17(土) 13:44:57 ID:9hFWtCOD
- UNIX板のスレを見ている方も多数おられるかと思いますが、
まあそれはそれとして、BASHウゼーとか言われる心配なく
平和にLINUX的スクリプト談義しましょうよ。
初めての自作スクリプト、自信ないから見てください。な初心者から
トリッキーな技を駆使した作品を披露したい、蘊蓄を語りたい上級者まで
いろいろな人に参加して頂けると嬉しいです。
perlやらPythonやらの話が混ざっても良いんでない?
Part3 : http://pc11.2ch.net/test/read.cgi/linux/1184077033/
Part2 : http://pc11.2ch.net/test/read.cgi/linux/1154578200/
Part1 : http://pc8.2ch.net/test/read.cgi/linux/1121994321/
>>2-5あたりに色々と。
- 451 :login:Penguin:2008/08/25(月) 23:32:42 ID:w1+LX6rA
- これすか…
bash(1)
> --dump-po-strings
> Equivalent to -D, but the output is in the GNU gettext po (portable object) file format.
試しに /usr/share/locale/ja/LC_MESSAGES/XXXX.mo を作ってみたが、日本語にならない。
あうあう。。。
「$」はぶった切ることにします。
- 452 :login:Penguin:2008/08/25(月) 23:49:02 ID:i+OsnagO
- >>451
急ぎじゃなかったら少し頑張ってみるといいかも。
前作ったもの見たらこんな感じで作業してたらしい。
$ xgettext -o hoge.po hoge.sh
$ gtranslator hoge.po
$ msgfmt -o hoge.mo hoge.po
hoge.sh の中にはこんなのが書いてあった。-->
if [ -z "$TEXTDOMAIN" ] ; then
TEXTDOMAIN="hoge"
TEXTDOMAINDIR="/usr/share/locale"
fi
<--
TEXTDOMAIN="hoge.sh" じゃなくて
TEXTDOMAIN="hoge" にしてあるのは
hoge.sh をインストール時に /usr/bin/hoge に改名(hoge.sh から hoge に)するため。
- 453 :login:Penguin:2008/08/26(火) 23:01:28 ID:JsSv3XDz
- gtranslator てのが無かったので、
$ sh --dump-po-strings XXXX > ~/XXXX.po
とし、msgfmt 以降同様にすると日本語になりました。
どうもありがとう。
- 454 :login:Penguin:2008/08/31(日) 15:42:27 ID:aoYJcwTK
- ?$
- 455 :login:Penguin:2008/09/01(月) 09:58:54 ID:LEXE4Xrt
- C言語でいう
for (float a=0.1;a<1.5;a+=0.1){
}
の様なループはどのように書けばよいのでしょうか?
- 456 :login:Penguin:2008/09/01(月) 10:38:54 ID:zLmvj5ED
- >>455
小数とか使いたいなら
もっとまともな言語使った方がいいよ。
- 457 :login:Penguin:2008/09/01(月) 12:17:57 ID:qt+GSvTX
- for i in `seq 1 20`
do
i=`echo "scale=1; $i / 10" | bc`
echo $i
done
- 458 :login:Penguin:2008/09/01(月) 17:56:42 ID:gt+0kg/y
- やっぱループ変数は整数だよな。
少数は気持ち悪い。
- 459 :login:Penguin:2008/09/01(月) 23:52:23 ID:yMJ8hMF5
- $ cat aso
killall fukuda
- 460 :login:Penguin:2008/09/02(火) 01:01:15 ID:iTMiNYXN
- >>458
気持ち悪いどころか、有害。
for(float a=0;a<=1.0;a+=0.1){printf("%g ",a);}
⇒ 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
- 461 :login:Penguin:2008/09/02(火) 02:16:22 ID:NrY9TL/o
- >>460
勉強になります。
使った事ないし、使う場合はテストするのでだいじょぶだけど。
でも絶対やらんよねw Cやってるやつは。
すれち
- 462 :login:Penguin:2008/09/02(火) 04:38:59 ID:dzMMfnry
- bcで計算させたとき、0以下の小数は最初の0を抜いた.2のように表示されますが、
0.2の様な表示にはできませんか?
- 463 :login:Penguin:2008/09/02(火) 09:52:47 ID:bHR8SDTE
- 0 ≧ .2 なのか。
- 464 :login:Penguin:2008/09/03(水) 00:04:05 ID:aqC4nv+U
- >>463
浮動小数点の比較を工夫なく行う奴はアホ。
- 465 :login:Penguin:2008/09/05(金) 21:49:46 ID:eUOT1mPo
- sed を | で つなぐんじゃだめ?
- 466 :login:Penguin:2008/09/06(土) 00:00:19 ID:x4tIq2Vd
- #!/bin/sh
echo '%A4%A2' | tr % = | nkf -emQ
「あ」と表示させたいのですが、「、」」と表示されてしまいます。
正しい書き方を教えてください。
- 467 :login:Penguin:2008/09/06(土) 05:03:55 ID:/FPWBzOe
- うち(EUC環境)では「あ」と表示される。
- 468 :login:Penguin:2008/09/06(土) 08:59:05 ID:6Sr65r/p
- >>466
テキストに落とすとEUCで「あ」に見える
- 469 :login:Penguin:2008/09/06(土) 23:40:32 ID:O24UR7Eo
- >>466 の環境がUTF-8なら
#!/bin/sh
echo '%A4%A2' | tr % = | nkf -wmQ
- 470 :login:Penguin:2008/09/08(月) 22:09:56 ID:tYV0ghqH
- 引数 output-file input-file1 input-file2 ...
を受け取ってinput-fileN に some-dir/ を付加したコマンド引数を他のプログラムの引数として与えたいのです。
つまり、
foo yaruo.out vip.txt vipper.txt vippest.txt
でfooを実行して、そのfoo内では
bar yaruo.out www/vip.txt www/vipper.txt www/vippest.txt
を実行するということがしたいのです。
こんなスクリプトを作成するには、fooをどのように記述すればいいのでしょうか。
よろしくお願いします。
- 471 :login:Penguin:2008/09/08(月) 22:27:43 ID:UFg0tXoN
- もう宿題の季節なのか?一箇所直してから使ってくれ。
#!/bin/bash
org=www; ARG1=${1}; shift; echo bar ${ARG1} ${@/#/${org}/}
- 472 :login:Penguin:2008/09/08(月) 22:50:15 ID:4IH3dQd+
- >>470
あのね、
宿題を出す先生は、このスレもチェックしてるからね、
>>471 のを出しても 0 点だからwww
ゆっくり 0 点にしてってね!
- 473 :login:Penguin:2008/09/08(月) 22:54:09 ID:tYV0ghqH
- >>471
残念ながら宿題ではないのです〜
ありがとうございました。
- 474 :login:Penguin:2008/09/08(月) 23:03:49 ID:QeMmaTeA
- うちの大学の先生はプログラム板も見ていた
- 475 :login:Penguin:2008/09/08(月) 23:09:05 ID:/XLojU6V
- 先生も激務だな
- 476 :login:Penguin:2008/09/08(月) 23:45:08 ID:lCRZh05X
- 悪いな、おいらは数学板だけでなく、
日本語のあらゆる数学質問掲示板を巡回している。
必ず学生が質問をしやがるから。
レポートを返すときに、そのスレおよび掲示板のコピーを添付して、念のため確認をとる。
初めから正直に引用したと書いてあるものについては、改めて口頭で説明させている。
- 477 :login:Penguin:2008/09/09(火) 08:43:21 ID:7p63VvoV
- 院生にやらせそうな案件だな
- 478 :login:Penguin:2008/09/11(木) 23:43:43 ID:6JSrg1Nn
- 実際に教授がやってたら笑いものだな。
そこまで熱心にありがとうございます、と学生ながらに思うべきか。
ただ、ねぇ・・・
- 479 :login:Penguin:2008/09/12(金) 01:07:51 ID:Hfrl7+Fx
- >>478
いや、日本だけってわけでなく海外でも今や引用元チェックとか行っているよ。
- 480 :login:Penguin:2008/09/12(金) 18:08:43 ID:9WCeRGBW
- へー
- 481 :login:Penguin:2008/09/12(金) 21:11:04 ID:lKrrIxw4
- 3年前ほどにアメリカのテレビドラマで高校の先生がエッセイの宿題を返す場面を見た。
ある学生に返しながら、「素晴らしいエッセイだったわ。 essay.com(のような感じ)ね?
月曜までに自分で書いて来てね」
- 482 :login:Penguin:2008/09/13(土) 02:57:01 ID:+1Gk57wR
- 問題も自分で作ってね
- 483 :login:Penguin:2008/09/19(金) 18:18:28 ID:0H1973GE
- >>479
手作業じゃないよね。日本語を解析できるツールはまだできてないよ。
- 484 :login:Penguin:2008/09/25(木) 00:19:59 ID:t0y6Jov+
- fdisk /dev/sdb
n
p
1
w
↑こんな感じで、入力させていきたいのですが、
方法がわかりません。キーボード 入力 シェル スクリプト
あたりでぐぐると、キーボードからの入力を受け付ける、しか見つかりませんでした。
方法を教えてください。
- 485 :login:Penguin:2008/09/25(木) 01:43:59 ID:Khd+tIc7
- >>484
expect
- 486 :login:Penguin:2008/09/25(木) 09:57:28 ID:fRZ/kmS9
- >>484
sfdisk
- 487 :login:Penguin:2008/09/25(木) 19:47:43 ID:wpIij73K
- >>484
>> EOF
- 488 :login:Penguin:2008/09/25(木) 19:55:28 ID:oa1dgrD9
- ( echo n; echo p; echo 1; echo w ) | fdisk /dev/sdb
入力が端末かどうかちゃんとチェックしてるようなモノだと動かないが、
fdisk はそんなことしてなかったはずなので、ふつーに標準入力からつっこめばよし。
- 489 :login:Penguin:2008/09/27(土) 00:45:11 ID:9WMmgXah
- ゴミ箱スクリプト使ってるひといる?
- 490 :login:Penguin:2008/09/27(土) 01:12:09 ID:s/QKRkEt
- あい。
- 491 :login:Penguin:2008/09/28(日) 03:42:58 ID:yjLf4XT+
- ゴミ箱に入ってるファイルを復元させるやつなら使ってる
- 492 :login:Penguin:2008/09/29(月) 04:13:28 ID:nMbRNXLX
- ティルダ(~)展開について質問。
#!/bin/bash
ls ~/
directory="~/"
ls $directory
上側のように直接書いたものは展開されますが、下側のように変数に入れたものは展開されません。
変数に入った「~」を展開するにはどうすればいいのでしょうか。
- 493 :login:Penguin:2008/09/29(月) 04:17:44 ID:dNtmh/2+
- directory=~/
- 494 :492:2008/09/29(月) 08:48:30 ID:dqlgrzbc
- うわ、そんなことだったのか。ありがとうございます。
では、read directory; などでファイルから読んだ場合はどうすればいいんでしょう。
- 495 :492:2008/09/29(月) 10:56:52 ID:dqlgrzbc
- あ、わかりました。eval 使えばいいんですね。
ファイルからティルダ(チルダ)含んだパスを読み込むことなんかよくあると思うんだけど、
そういったシチュエーションでの展開は解説されてませんねえ。
基本的な展開の話ばかりで。
- 496 :login:Penguin:2008/09/29(月) 11:06:17 ID:6KBzfDQe
- eval
って書こうとしたら自己解決してたか。
>ファイルからティルダ(チルダ)含んだパスを読み込むこと
俺は経験無いけど、良くあることなの?
- 497 :login:Penguin:2008/09/29(月) 12:14:07 ID:PrjYZQYT
- > 俺は経験無いけど、良くあることなの?
んー、俺もそもそもスクリプトはあんまり書かないんだけど、
ちょっと今回必要があって、とあるファイルにつらつらと書かれたパスに対して
順番に処理かけていくスクリプトを組んだ。
よくあるかと思ったのは単なる想像。使ったスクリプトが悪かったかな?
- 498 :login:Penguin:2008/09/29(月) 12:15:02 ID:PrjYZQYT
- アレ、ID 変わってる。
>>495 です。
- 499 :login:Penguin:2008/09/29(月) 13:09:37 ID:M1tw2hRO
- むしろ勝手に解釈されたら困ることの方が多そう。
- 500 :login:Penguin:2008/09/29(月) 17:00:59 ID:DE65cKXI
- $HOMEの方がいいと思う
129 KB
[ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]
取りに行ったけどなかった。次は一時間後に取りに行くです。新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.0.7.8 2008/09/25 アクチョン仮面 ★
FOX ★ DSO(Dynamic Shared Object)