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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001シェルスクリプトライター2011/12/10(土) 20:06:40.38
シェルスクリプトの総合スレです。
スクリプトのお勉強・自慢・腕試しなどにどうぞ。

□お約束
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。
 bash/zsh/ksh/ashなどに依存する場合は明示しましょう。
 Linuxユーザは/bin/shの正体がbashなので特に注意。
 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でそれらしい単語による簡単な検索もできます。
・シェルスクリプトのことをシェルってゆーな
・シェルで使えるワイルドカード等は正規表現ではありません。
 正規表現の話題はスレ違い(正規表現スレへ)

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

前スレ
シェルスクリプト総合 その18
http://hibari.2ch.net/test/read.cgi/unix/1308195527/

次スレは >>970 で。
09729702012/06/07(木) 01:17:17.49
おっと、和訳もあるな> ttp://www.amazon.co.jp/dp/4797327286/
0973名無しさん@お腹いっぱい。2012/06/07(木) 01:17:55.21
>>966
>spell="ispell -l" # if you have ispell installed instead
スペルチェックに使うコマンドの指定。
># if not, just define spell=spell or
># equivalent.

>if [ $# -lt 1 ] ; then
引数の数が1より小さければ
>echo "Usage: $0 word or words" >&2
標準エラー出力に表示
>exit 1
スクリプト終了、終了コード1
>fi

>for word in $*
すべての引数について繰り返し
>do
>test=`echo $word | $spell`
$wordをspellに渡して
>if [ -z "$test" ] ; then
spellの結果が0文字なら
>echo "$word: spelled correctly."
スペルミスしてない
>else
スペルミスがあれば
>echo "$word: misspelled."
スペルミスしてるよ。
>fi
>done
0974名無しさん@お腹いっぱい。2012/06/07(木) 01:23:30.94
>>971
仰る通りです。。
このままではいけないのでこのような質問の仕方は今回限りにします
0975名無しさん@お腹いっぱい。2012/06/07(木) 01:34:55.83
>>967は終わってるのかな。

>>968
>#!/bin/sh

># remindme - search a datafile for matching lines, or show the contents
># of the datafile if no arg is specified

>rememberfile="$HOME/.remember"

>if [ $# -eq 0 ] ; then
引数がなければ
>less $rememberfile
$rememberfileをそのまま表示
>else
引数があれば
>grep -i "$@" $rememberfile | less
引数で検索して表示
>fi
0976名無しさん@お腹いっぱい。2012/06/07(木) 01:35:39.56
>>970
ホントだ。。。
完全にココのコピペですね;;すげぇ

まぁ動作の解読が必要な事は変わりなさそうですね・・
0977名無しさん@お腹いっぱい。2012/06/07(木) 08:06:36.42
シェルスクリプト書くならエディタは何がお勧めですか?
0978名無しさん@お腹いっぱい。2012/06/07(木) 08:16:19.33
vim,emacs
0979名無しさん@お腹いっぱい。2012/06/07(木) 11:46:48.75
秀丸
0980名無しさん@お腹いっぱい。2012/06/07(木) 11:48:46.00
どれでもたいして変わらんよ。
使い慣れたエディタで書けばいい。
0981名無しさん@お腹いっぱい。2012/06/07(木) 12:03:36.22
言い忘れましたがif,for,while,case文などでちゃんとインデントしてくれて
簡単な文法チェックもできるエディタ限定でお願いします
0982名無しさん@お腹いっぱい。2012/06/07(木) 12:38:03.05
>>979
秀丸使ったことないけど具体的にどんなところがいいの?
vimと比較したいです。
0983名無しさん@お腹いっぱい。2012/06/07(木) 13:24:38.07
>>982
キーバインドが標準的
文法チェックが出来る
インデントも正しく出来る
0984名無しさん@お腹いっぱい。2012/06/07(木) 18:46:33.02
標準的ときたか!!
0985名無しさん@お腹いっぱい。2012/06/07(木) 20:33:24.17
名前とアイコンは標準的じゃないね
0986名無しさん@お腹いっぱい。2012/06/07(木) 21:08:20.47
標準かどうかはともかくエディタの人口で言うとvimやemacsの方が圧勝だよな
4200円っていう価格設定と実質日本人しか使ってないってのは痛い
0987名無しさん@お腹いっぱい。2012/06/07(木) 22:46:48.13
そもそもWindowsのキーバインド基準に言われても
0988名無しさん@お腹いっぱい。2012/06/07(木) 22:58:20.08
>>986
母数が3桁は違うだろ…現実みようぜ…
0989名無しさん@お腹いっぱい。2012/06/07(木) 23:22:06.04
母数関係ない話になんでいきなり母数言い出すのか意味不明の頭の悪さ。
0990名無しさん@お腹いっぱい。2012/06/07(木) 23:27:56.11
>>970
>1
0991名無しさん@お腹いっぱい。2012/06/07(木) 23:38:34.25
現実って何だ?
09929702012/06/07(木) 23:46:20.41
>>990
すまん。規制されててスレ立てられんかった。誰か頼む。
0993名無しさん@お腹いっぱい。2012/06/07(木) 23:53:51.08
だめだった
0994名無しさん@お腹いっぱい。2012/06/08(金) 00:36:39.22
いけた (・∀・)

シェルスクリプト総合 その20
http://toro.2ch.net/test/read.cgi/unix/1339083351/
09959702012/06/08(金) 00:40:06.21
>>993
ありがとう。
>>994
乙であります!
0996名無しさん@お腹いっぱい。2012/06/08(金) 06:30:13.26
秀丸推しはステマだろ。使ってる奴見た事ある人いるの?
0997名無しさん@お腹いっぱい。2012/06/08(金) 09:49:09.32
埋め
0998名無しさん@お腹いっぱい。2012/06/08(金) 09:49:49.79
埋め
0999名無しさん@お腹いっぱい。2012/06/08(金) 12:17:47.62
>>996
俺秀丸使いだよ
1000名無しさん@お腹いっぱい。2012/06/08(金) 12:18:03.19
1000なら 秀丸が標準になる
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。