トップページunix
1001コメント297KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2013/11/01(金) 07:58:50.52
シェルスクリプトの総合スレです。
□お約束
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。
 bash/zsh/ksh/ashなどに依存する場合は明示しましょう。
 Linuxユーザは/bin/shの正体がbashまたはdashなので特に注意。
 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でそれらしい単語による簡単な検索もできます。
・シェルで使えるワイルドカード等は正規表現ではありません。
 正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆーな
□初心者へのアドバイス:
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
 awkまたはperlの方が適した処理にはそちらを使いましょう。
・知らないコマンドが出てきたらmanを引きましょう。
・思い通りに動かないときは、まずは sh -x でトレースしましょう。
□回答者への注意事項:
・シェルスクリプトでの処理方法を質問しているのに、よくわからずに
 「そういうのはperl使いましょう」と回答するのはやめましょう。
 安易にperlに逃げずにシェルスクリプトで処理するのが頭のいいやり方。
前スレ
シェルスクリプト総合 その21
http://toro.2ch.net/test/read.cgi/unix/1352973453/
0002名無しさん@お腹いっぱい。2013/11/03(日) 03:04:59.12
おつ
0003名無しさん@お腹いっぱい。2013/11/03(日) 08:20:00.06
bash なら exponent は ** なのにな
0004名無しさん@お腹いっぱい。2013/11/04(月) 13:06:48.63
case文を抜け出す方法はbashには無かったけど
ほかのシェルでcase文から抜け出す方法はある?
0005名無しさん@お腹いっぱい。2013/11/04(月) 15:04:59.50
;;でcaseから抜けるけど
0006名無しさん@お腹いっぱい。2013/11/05(火) 11:03:36.55
if [ $? -eq 0 ]; then

みんな、$? は""で囲う派? 囲わない派?
0007名無しさん@お腹いっぱい。2013/11/05(火) 18:10:47.33
普段は囲まないけど、誰かの書いたのをいじるときはそれに合わせるよ派
0008名無しさん@お腹いっぱい。2013/11/06(水) 07:06:35.01
数値なので囲わない派
0009名無しさん@お腹いっぱい。2013/11/06(水) 08:25:01.88
$前に0付ける派
0010名無しさん@お腹いっぱい。2013/11/06(水) 11:17:00.72
$の前に0つけるのってファイナルビューティ醸してるな。
この発送はなかった。
0011名無しさん@お腹いっぱい。2013/11/08(金) 15:58:55.00
>>9
8進数になることない?
0012名無しさん@お腹いっぱい。2013/11/08(金) 16:21:43.15
>>11
あるねw
0013名無しさん@お腹いっぱい。2013/11/08(金) 16:57:46.84
$ test 12 -eq 12; echo $?
0
$ test 012 -eq 12; echo $?
0
0014名無しさん@お腹いっぱい。2013/11/08(金) 17:49:27.80
>>13
あ、使ってる関数は自動変換するけど、10進数限定にもできて、testは限定されてた。
だからやっぱりないw
0015名無しさん@お腹いっぱい。2013/11/09(土) 13:58:50.12
マイナス
"負数"が返ってきたらアウトだな

と思ったけど実行結果は必ず0か自然数なので問題なかった
0016名無しさん@お腹いっぱい。2013/11/10(日) 17:23:11.15
あるファイルが、実行可能な設定ファイルであることを
チェックして保証したいんだけど、なんかいい方法ある?

手抜きなんかしないで、ひとつひとつちゃんと
HOGE="PIYO"
みたいなフォーマットにのっとってることを
文法チェックして確認しないとだめ?
0017名無しさん@お腹いっぱい。2013/11/10(日) 19:40:09.82
実行可能って、エラーを発生させることなくパース可能という意味?
任意の書式だと困難だと思うけど。
0018名無しさん@お腹いっぱい。2013/11/11(月) 01:57:30.15
>>16
何の設定ファイル?
0019名無しさん@お腹いっぱい。2013/11/11(月) 09:45:35.56
それは秘密
■ このスレッドは過去ログ倉庫に格納されています