シェルスクリプト総合 その7
■ このスレッドは過去ログ倉庫に格納されています
0001ミスターシェル
2006/09/07(木) 13:00:11スクリプトのお勉強・自慢・腕試しなどにどうぞ。
まずは注意点、リンク、地鎮祭など(>>1-6くらい)をご覧ください。
□お約束
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。
bash/zsh/ksh/ashなどに依存する場合は明示しましょう。
Linuxユーザは/bin/shの正体がbashなので特に注意。
・csh/tcshのシェルスクリプトは推奨されません。
(理由は「csh-whynot」でググれ)
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。
manや参考リンクを見ましょう。
aproposないしはman -kでそれらしい単語による簡単な検索もできます。
・シェルスクリプトのことをシェルってゆーな
・シェルで使えるワイルドカード等は正規表現ではありません。
正規表現の話題はスレ違い(正規表現スレへ)
□初心者へのアドバイス:
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
RubyやPerlの方が適した仕事には素直にそちらを使いましょう。
・知らないコマンドが出てきたらmanを引きましょう。
・思い通りに動かないときは、まずは sh -x でトレースしましょう。
0380名無しさん@お腹いっぱい。
2006/11/18(土) 17:35:51hairetu=(a b c d e f d)
for i in ${hairetu[@]}
do
echo $i
done
exit 0
こんな感じか?
0381名無しさん@お腹いっぱい。
2006/11/18(土) 17:39:21違うだろ。複数の配列を for 文の要素として使いたいらしいが。
0382名無しさん@お腹いっぱい。
2006/11/18(土) 17:40:460383名無しさん@お腹いっぱい。
2006/11/18(土) 17:42:03配列をFor文のループ変数に使えるかってことじゃないのか?
0384名無しさん@お腹いっぱい。
2006/11/18(土) 17:46:260385名無しさん@お腹いっぱい。
2006/11/18(土) 18:01:27borne shellには配列などというデータタイプは無い。
0386名無しさん@お腹いっぱい。
2006/11/18(土) 18:02:55"borne shell"って何ですかww
0387名無しさん@お腹いっぱい。
2006/11/18(土) 18:13:33eval STARTEND=$i
START=${STARTEND[0]}
END=${STARTEND[1]}
echo $START, $END
done
キモい。ただでさえキモい bash でさらにこんなキモいことするのか。
0388名無しさん@お腹いっぱい。
2006/11/18(土) 18:22:48いんじゃないか。
こんなインチキしか思い付かなかった
perl -e 'foreach $a ([1, 100], [101, 200]) {
print "$a->[0] $a->[1]¥n";
}'
0389名無しさん@お腹いっぱい。
2006/11/18(土) 19:47:14evalを使えば何でも出来る。
0390名無しさん@お腹いっぱい。
2006/11/18(土) 19:51:45■ このスレッドは過去ログ倉庫に格納されています