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

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

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2010/02/20(土) 14:10:05
シェルスクリプトの総合スレです。 
スクリプトのお勉強・自慢・腕試しなどにどうぞ。 
まずは注意点、リンク、地鎮祭など(>>1-6くらい)をご覧ください。 

□お約束 
・特記なき場合は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 でトレースしましょう。 

前スレ 
シェルスクリプト総合 その15
http://pc12.2ch.net/test/read.cgi/unix/1246408968/l50
0002名無しさん@お腹いっぱい。2010/02/20(土) 14:10:58
□関連スレ: 
sed 
http://pc12.2ch.net/test/read.cgi/unix/1085730992/ ;
正規表現 
http://pc12.2ch.net/test/read.cgi/unix/1039165754/ ;
おまえら! shell は何を使っているんですか? 
http://pc12.2ch.net/test/read.cgi/unix/1012330865/ ;
Eshell の使い方とか設定とか【Emacs Shell、Lisp】 
http://pc12.2ch.net/test/read.cgi/unix/1102921590/ ;

□初心者向けリンク 
「誰にでも」シリーズ 
ttp://kanji.zinbun.kyoto-u.ac.jp/~yasuoka/publications/dareUni/ 
/bin/shプログラミング入門 
ttp://freebooks.info.nara-k.ac.jp/archive/ShellProgramming/ 
シェルを使おう - 導入からプログラミングまで - 
ttp://www.netfort.gr.jp/~tomokuni/lms/shell/text/ 

□入門者向け書籍: 
プロフェショナルシェルプログラミング 
http://www.amazon.co.jp/exec/obidos/ASIN/4756116329/ ;
入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界 
http://www.amazon.co.jp/exec/obidos/ASIN/4797321946/ ;
UNIXシェルプログラミング徹底解説 
http://www.amazon.co.jp/exec/obidos/ASIN/4822280489/ ;
入門Kornシェル 
http://www.amazon.co.jp/exec/obidos/ASIN/4873110149/ ;
入門bash 
http://www.amazon.co.jp/exec/obidos/ASIN/4900900788/ ;
0003名無しさん@お腹いっぱい。2010/02/20(土) 14:12:03
□参考リンク: 
UNIXの部屋 (沢山のコマンドの簡単な紹介など) 
http://x68000.q-e-d.net/~68user/unix/ 
POSIX: Shell & Utilities (標準規格) 
http://www.opengroup.org/onlinepubs/009695399/utilities/contents.html ;

□最近のシェルスクリプト本(1) 

(2004/03) UNIXシェルスクリプトハンドブック 関根 達夫 (著) 
http://amazon.co.jp/o/ASIN/4797326522/ ;
(2004/10) UNIXシェルスクリプト逆引き大全333の極意 中橋 一朗 (著) 
http://amazon.co.jp/o/ASIN/4798008842/ ;
(2004/11) 仕事に使えるLinuxシェルスクリプト 千葉 真人 (著) 
http://amazon.co.jp/o/ASIN/4822282090/ ;
(2004/12) UNIXシェルスクリプトサンプルブック デイブ・テイラー (著) 
http://amazon.co.jp/o/ASIN/4797327286/ ;
(2005/02) シェルスクリプト基本リファレンス 山森 丈範 (著) 
http://amazon.co.jp/o/ASIN/4774122610/ ;
(2005/04) LinuxWorldスクリプト 月刊リナックス・ワールド総集編 月刊LinuxWorld特別 (著) 
http://amazon.co.jp/o/ASIN/4872802349/ ;
(2005/05) UNIXシェルスクリプトコマンドブック 山下 哲典 (著) 
http://amazon.co.jp/o/ASIN/4797330635/ ;
(2005/05) わかる&使える UNIX基礎講座 シェルスクリプト編 中井 獏 (著) 
http://amazon.co.jp/o/ASIN/4774123625/ ;
0004名無しさん@お腹いっぱい。2010/02/20(土) 14:12:54
□最近のシェルスクリプト本(2) 
(2005/07) UNIX シェルスクリプト辞典 川井 義治 (著) 
http://amazon.co.jp/o/ASIN/4798109231/ ;
(2005/08) シェルスクリプト ポケットリファレンス bash編 宮原 徹 (著), 川原 龍人 (著) 
http://www.amazon.co.jp/o/ASIN/4774124818/ ;
(2005/12) 図解でわかるLinuxシェルスクリプト・正規表現 小泉 修 (著) 
http://www.amazon.co.jp/o/ASIN/4534040067/ ;
(2006/01)詳解 シェルスクリプト アーノルド ロビンス (著), ネルソン・H.F. ベーブ(著), Arnold Robbins (原著), Nelson H.F. Beebe (原著), 日向 あおい (翻訳) 
http://www.amazon.co.jp/o/ASIN/4873112672/ ;
(2007/3) Linuxシェルスクリプトユーザー便利帳―bash2/bash3対応 伊藤 幸夫 (著), 寒川 陽美(著) 
http://www.amazon.co.jp/o/ASIN/4798015954/ ;
(2007/9) ゲームで極める シェルスクリプトスーパーテクニック 山森 丈範 
http://www.amazon.co.jp/o/ASIN/4774132020/ ;
(2007/10) UNIX/Linuxシェルスクリプトマスタリングハンドブック 野川 准子 
http://www.amazon.co.jp/o/ASIN/4798017957/ ;
0005名無しさん@お腹いっぱい。2010/02/20(土) 14:13:05
シェルブリットはいいからゴチックメイドはどうなったんだよ
0006名無しさん@お腹いっぱい。2010/02/20(土) 14:13:36
□関連書籍と関連リンク: 
FreeBSD Hypertext Man Pages 
http://www.freebsd.org/cgi/man.cgi ;
Linux JF (Japanese FAQ) Project. 
http://www.linux.or.jp/JF/ ;
Unix Programming Frequently Asked Questions 日本語訳 
http://www.adl.nii.ac.jp/~moro/unix-programmer/faq-j_toc.html 
UNIXプログラミング環境 
http://www.amazon.co.jp/exec/obidos/ASIN/4871483517/ ;

□人間初心者へのお願い: 
・このスレはシェルスクリプトについてのスレです。 
 シェルの対話的な利用についての話やスクリプトと関係ないコマンドの 
 使い方の質問などはスレ違いなので無用に願います。 

□シェルスクリプトでよく使うコマンド: 
制御・条件判定系: [,test,expr,true,false,yes,getopts 
テキスト処理系: cat,awk,sed,tr,sort,uniq,grep,wc,head,tail,cut,paste,comm,join 
ファイル検索系: find 
(スペースなどを含むファイル名を正しく処理するため、 
findは -exec command {} + を推奨。 
他に -print0、xargsは -0オプションという方法もあるがSolaris非対応) 
ディレクトリ系: basename,dirname 
出力系: echo,printf 
対話コマンド制御系: expect 
http/ftpの処理自動化: wget,curl 
0007名無しさん@お腹いっぱい。2010/02/20(土) 14:35:44
以下の結果を出力するシェルを,bashスクリプトで書け.
(基本仕様)
・コマンドとして実行できる.(シェルコマンドである.)
・ユーザーが10000以上99999以下の5桁の数字を入力する.
・その数字を7で割って1余り,かつ13で割って2余った場合は Daikichiと表示する.
・それ以外で,13で割って2余った場合は Chuukichiと表示する.
・それ以外で,7で割って1余った場合は Shoukichiと表示する.
・それ以外の場合は Hazureと表示する.
・入力した文字が10000以上99999以下の数字以外の場合はエラーメッセージを表示する.
・できる人は,コマンドライン引数でDaikichiなどの文字を変更できるようにする.
(ポイント)
☆シェルコマンドにするには,スクリプトの最初に(#!で始まる)おまじないを書く.
☆標準入力から文字列を入力するには read を用いる.
☆コマンドラインの引数は,$@に格納されている.(その要素は $1 $2 ...)
☆四則演算には $(( )) コマンドが使用できる.(ただし,整数しか扱えない.)


誰かわかるひとお願いします
0008名無しさん@お腹いっぱい。2010/02/20(土) 15:50:45
>>7
csh じゃないんだなw
シェルスクリプトの事をシェルと書くと怒る人が居るので気をつけた方が良いぜ。
↓これをファイルに保存して、実行するとお望みのスクリプトが出力される筈だ。

#!/bin/zsh

echo '#!/bin/bash

while read i
do
case ${i} in'
for i in {10000..99999};
do echo -n "${i}) ";
if [ 2 -eq `echo ${i} % 13 | bc` -a 1 -eq `echo ${i} % 7 | bc` ];
then echo "echo Daikichi;;"; elif [ 2 -eq `echo ${i} % 13 | bc` ];
then echo "echo Chuukichi;;"; elif [ 1 -eq `echo ${i} % 7 | bc` ];
then echo "echo Shoukichi;;"; else echo "echo Hazure;;"; fi; done

echo 'esac
done'
0009名無しさん@お腹いっぱい。2010/02/20(土) 17:18:45
>>7
宿題は自分でやれ。
0010名無しさん@お腹いっぱい。2010/02/20(土) 17:45:49
>>8
行数が10万行近くあって、レポート用紙が何枚あっても足りません><
0011名無しさん@お腹いっぱい。2010/02/22(月) 01:05:10
>>7 はマルチだから。
0012名無しさん@お腹いっぱい。2010/02/22(月) 16:15:20
#!/bin/bash
read a
if [[ "$a" -lt 10000 || "$a" -gt 99999 ]]
then
echo 'Error'
exit
fi
x=$((a % 7))
case "$x" in
1)
x=$((a % 13))
if [ "$x" -eq 2 ]
then
echo 'Daikichi'
else
echo 'Shoukichi'
fi
;;
*)
x=$((a % 13))
if [ "$x" -eq 2 ]
then
echo 'Chuukichi'
else
echo 'Hazure'
fi
;;
esac
0013名無しさん@お腹いっぱい。2010/02/22(月) 20:54:25
>>12
read a のところで aを入力すると、誤動作するようですが・・
0014名無しさん@お腹いっぱい。2010/02/22(月) 21:34:43
# read a の次にこれを追加すれば解決。
echo "$a" | grep '^[[:digit:]]....$' >/dev/null 2>&1
if [ $? -ne 0 ]
then
echo 'Error'
exit 1
fi
0015名無しさん@お腹いっぱい。2010/02/22(月) 21:39:42
# 失礼。09999とかの判定を忘れてた。
# grepのパターンはこっちのほうが良い。
echo "$a" | grep '^[[^0][:digit:]]....$' >/dev/null 2>&1
if [ "$?" -ne 0 ]
then
echo 'Error'
exit 1
fi
0016名無しさん@お腹いっぱい。2010/02/23(火) 01:07:12
>>12
jkl.sh: Command not found.

ワザワザbashをインスコしなきゃ、UNIXじゃ使えないじゃん。
0017名無しさん@お腹いっぱい。2010/02/23(火) 07:34:27
今時の「UNIX」はbashが標準で付いてるから無問題
0018名無しさん@お腹いっぱい。2010/02/23(火) 14:34:21
セツ子、それUNIXちゃう。犬糞や。
0019名無しさん@お腹いっぱい。2010/02/23(火) 14:52:34
いや、Linuxじゃなくて、今時のUNIXはbashが標準で付いてるという話をしてるんだが
0020名無しさん@お腹いっぱい。2010/02/23(火) 15:34:49
AIXとかHP-UXってbash標準なの?
0021名無しさん@お腹いっぱい。2010/02/23(火) 15:48:25
>>19
の言う今時のUNIXはやっぱLinuxなんだよな
0022名無しさん@お腹いっぱい。2010/02/23(火) 16:24:16
だれもLinuxの話なんかしてないよ

で、ちょっと前だとbashはLinuxのものとして叩けたけど、
今はUNIXでもbashが標準になっちゃったから、その線では叩けなくなったんだよ。
0023名無しさん@お腹いっぱい。2010/02/23(火) 16:48:16
>>22
だからそのUNIXって何だよ(w

ぱちょこんウニックスか?
なんとかベーエスデーか?
0024名無しさん@お腹いっぱい。2010/02/23(火) 19:01:47
ここで華麗に PDP7 と 7th edition が登場
0025名無しさん@お腹いっぱい。2010/02/23(火) 23:38:31
OS Xならついてくるが標準でbashが起動するかどうか忘れた
0026名無しさん@お腹いっぱい。2010/02/24(水) 00:27:15
>>25
Tigerあたりからbashが標準。
0027名無しさん@お腹いっぱい。2010/02/24(水) 00:33:37
AIX 5Lまでは、kshが標準
bashはオプション
6.1は知らん
0028名無しさん@お腹いっぱい。2010/02/24(水) 01:41:34
>>20
無いよ。

>>23
*BSDにも無い。

Mac OS Xは全然UNIXとは程遠い。
kernelにFreeBSDが使われてるってだけ。
Solarisでも/opt扱いだったな。
0029名無しさん@お腹いっぱい。2010/02/24(水) 02:27:31
>Mac OS Xは全然UNIXとは程遠い。
>kernelにFreeBSDが使われてるってだけ。
??????
0030名無しさん@お腹いっぱい。2010/02/24(水) 02:30:29
ちょっと釣り針がでか過ぎるんじゃないか?
0031名無しさん@お腹いっぱい。2010/02/24(水) 02:37:35
へえ釣りなんだw
0032名無しさん@お腹いっぱい。2010/02/24(水) 04:54:25
あぁ、伝説のUNI+よ。。。
0033名無しさん@お腹いっぱい。2010/02/24(水) 06:55:36
>>28
おいおい、*BSDはUNIXじゃないよw

あと、今のSolarisではbashは必須扱い。
0034名無しさん@お腹いっぱい。2010/02/24(水) 07:04:41
>>28
Solarisのbashは、/optじゃなくて、/usr/bin/bash。
しかも、symlinkじゃなくて、/usr/bin/bashにバイナリ本体がある。
SUNWbashに入ってる。
0035名無しさん@お腹いっぱい。2010/02/24(水) 08:20:19
ここ何のスレ?
0036名無しさん@お腹いっぱい。2010/02/24(水) 09:37:59
まとめると
>>19
「今時のUNIX」はLinuxと決定されました。
0037名無しさん@お腹いっぱい。2010/02/24(水) 09:41:33
>>36
LinuxはUNIXじゃないよ。*BSDもUNIXじゃないよ。

「今時のUNIX」は主にSolarisとかのこと。

Solaris10 -> bash標準
OpenSolaris -> bash必須
0038名無しさん@お腹いっぱい。2010/02/24(水) 09:50:50
>>28
> Mac OS Xは全然UNIXとは程遠い。
UNIX認証を得てるので名はUNIX。
ユーザランドはFreeBSDベースに作られたDarwinなので、実も伝統的なu**x

> kernelにFreeBSDが使われてるってだけ。
kernelはMach

>>37
>LinuxはUNIXじゃないよ。
分かった上で言ってるんだと思うよ。
0039名無しさん@お腹いっぱい。2010/02/24(水) 11:29:55
>>37
主にだったら他に何があるの?

主も糞もSolarisのみの話なら、今時のUNIXという
括りは間違ってるんだが
0040名無しさん@お腹いっぱい。2010/02/24(水) 14:37:00
>>37
OpenSolarisもUNIXじゃないよ。
0041名無しさん@お腹いっぱい。2010/02/24(水) 16:01:46
なんとかLinuxを正当化しようと今時のUNIX
なんて書いてみたものの、結局Solarisしかなくて

やっぱり今時のUNIX=Linuxに戻ってしまうという循環
0042名無しさん@お腹いっぱい。2010/02/24(水) 16:03:13
だから、LinuxはUNIXじゃないって、、
0043名無しさん@お腹いっぱい。2010/02/24(水) 18:28:06
>>24
第7版はPDP11です、とセルフつっこみ
0044名無しさん@お腹いっぱい。2010/02/24(水) 21:26:34
>>12 って、bash独自なところは一つもないじゃん。
/bin/shに変更しても「今時のUNIX」ならすべて動く。

それはそうと、>>12 は無駄が多い記述だな、もうちょっと簡単に書ける。
0045名無しさん@お腹いっぱい。2010/02/24(水) 21:40:54
>>44
うちの freebsd (/bin/sh = ash) と debian (/bin/sh = dash) では動きませんでした。
まあ、どっちも今どきの UNIX じゃないけど。
# ksh で拡張された機能が必要
0046名無しさん@お腹いっぱい。2010/02/24(水) 23:06:02
>>45
FreeBSDはUNIXじゃありません。

今、話をしてるのは「UNIX」だけです。
0047名無しさん@お腹いっぱい。2010/02/24(水) 23:33:26
OpenSolarisとか言ってるからUNIXじゃなくてもいいんだろ
0048名無しさん@お腹いっぱい。2010/02/24(水) 23:36:02
>>46
おまえのいう「UNIX」の定義を述べよ。
0049名無しさん@お腹いっぱい。2010/02/24(水) 23:53:32
UNIXかUNIXじゃないかってそんなに大事なことなの?
0050名無しさん@お腹いっぱい。2010/02/25(木) 01:27:11
OS XもUNIXでつ
0051名無しさん@お腹いっぱい。2010/02/25(木) 10:33:42
>>49
今時のUNIXと言い放ったバカと
それを受けとめる人間には重要
0052名無しさん@お腹いっぱい。2010/02/25(木) 10:35:17
なんで重要なんだろう。
0053名無しさん@お腹いっぱい。2010/02/25(木) 11:07:28
そんなに疑問に思うことなの?
0054名無しさん@お腹いっぱい。2010/02/25(木) 11:08:53
うん。
0055名無しさん@お腹いっぱい。2010/02/25(木) 14:58:09
改めて定義を聞かれて慌てているの図
0056名無しさん@お腹いっぱい。2010/02/25(木) 19:35:24
とりあえずわからないから
UNIXの定義は来世紀への課題と致します
0057名無しさん@お腹いっぱい。2010/02/25(木) 20:24:31
以下の結果を出力するスクリプトを,UNIXシェルで書け.
(基本仕様)
・コマンドとして実行できる.(UNIXシェルである.)
・コマンドラインの第1引数で数字を指定する.
・第1引数が数字以外だった場合はエラーメッセージを表示する.
・第1引数の数字以下の自然数のうち,素数をすべて見つけてリスト表示する.
・すべてUNIXシェル内部で処理し,外部コマンドは呼び出さないこと.
(ポイント)
☆UNIXシェルにするには,ファイルの最初に #!/bin/bashというおまじないを書く.
☆コマンドラインの第1引数は,$1に格納されている.
☆四則演算には $(( )) コマンドが使用できる.(ただし,整数しか扱えない.)


誰かわかるひとお願いします
0058名無しさん@お腹いっぱい。2010/02/25(木) 20:28:21
オウ、デジャブー
0059名無しさん@お腹いっぱい。2010/02/25(木) 21:37:45
#!/bin/sh
/usr/games/primes 1 "$1"
0060名無しさん@お腹いっぱい。2010/02/25(木) 22:23:21
>>57
『UNIXシェルである』という表現は有効なの?
0061名無しさん@お腹いっぱい。2010/02/25(木) 22:46:26
前スレでマルチしてた人でしょ。
相手しちゃだめだよ。
0062名無しさん@お腹いっぱい。2010/02/26(金) 06:56:02
>>59
>>57
>・すべてUNIXシェル内部で処理し,外部コマンドは呼び出さないこと.
0063名無しさん@お腹いっぱい。2010/02/26(金) 09:20:17
>>57
その頭の悪そうな問題書く人は駆け出しの厨房?
もし師と仰いでるなら、即刻師匠を変えた方が良い
0064名無しさん@お腹いっぱい。2010/02/26(金) 20:51:03
# bashでやる意味のない問題だと思うが。
# 問題自体は難しくないのだが・・・
#!/bin/bash
echo "$1" | grep '^[[:digit:]][[:digit:]]*$' >/dev/null 2>&1
if [[ "$?" -ne 0 || "$1" -lt 2 ]]
then
echo 'Error'
exit 1
fi

for ((i=2;i<="$1";i++)) {
if [ $((i % 2)) -eq 0 ]
then
echo "$i"
fi
}
0065名無しさん@お腹いっぱい。2010/02/26(金) 20:54:41
>>64
偶数を表示してどうするw

>>57
>素数
0066642010/02/26(金) 20:55:01
失礼、書きかけのやつをカキコしちまった。
粗相。
0067名無しさん@お腹いっぱい。2010/02/26(金) 20:57:40
「すべてUNIXシェル内部で処理し,..」だから、
grepも使っちゃ駄目だそうですよ
0068名無しさん@お腹いっぱい。2010/02/26(金) 20:57:53
ってゆうか、微妙に長すぎてカキコめない・・・

早い話、素数かどうかわかれば良いだけなら
判定対象の数値をそれより小さい数値全てで割り算してみればいいだけ。
ようするにループで回せばいいだけ。
0069名無しさん@お腹いっぱい。2010/02/26(金) 21:04:22
肝要部分だけ書くと、
↓だろ。全然長くないよ。

#!/bin/bash
for ((i = 2; i <= $1; i++)) {
for ((j = 2; j < i; j++)) {
if ((i % j == 0)); then
continue 2
fi
}
echo $i
}
0070名無しさん@お腹いっぱい。2010/02/26(金) 21:18:53
以下の結果を出力するスクリプトを,UNIXシェルで書け.
(基本仕様)
・コマンドとして実行できる.(UNIXシェルである.)
・コマンドラインの第1引数で人間の手番(○側か×側か)を指定する.
・人間とコンピュータが対戦するようにする.
・3x3マスのマルバツゲームのボードを作成する.
・○側と×側が交互に2次元座標上の位置を入力する.
・入力後、毎回ボードを表示する.
・たて、よこ、斜めのいずれかに○か×が3つ並んだ時点でプログラムを終了する.
・すべてUNIXシェル内部で処理し,外部コマンドは呼び出さないこと.
(ポイント)
☆UNIXシェルにするには,ファイルの最初に #!/bin/bashというおまじないを書く.
☆コマンドラインの第1引数は,$1に格納されている.
☆四則演算には $(( )) コマンドが使用できる.(ただし,整数しか扱えない.)


誰かわかるひとお願いします
0071名無しさん@お腹いっぱい。2010/02/26(金) 21:19:32
すっかり糞スレになったな
0072名無しさん@お腹いっぱい。2010/02/26(金) 22:48:25
以下の結果を出力するスクリプトを,UNIXシェルで書け.
(基本仕様)
・コマンドとして実行できる.(UNIXシェルである.)
・主人公、妹1名、両親、自分の友人数名(うち最低1名は女性、半数以上は男性とする)、妹の友人(女性)数名が登場する.
・主人公、妹、自分の友人、妹の友人はいずれも生徒もしくは学生とする.
・両親のうち、父は総合商社勤務のサラリーマン、母は専業主婦とする.
・主人公の言動やイベントの発生にともない、各キャラのパラメータを変化させる.
・病弱な妹を思いやる兄と妹の交流を中心に、他の登場人物との友情や恋愛を描写する.
・エンディングは妹、もしくは妹の友人のいずれかと深い恋愛関係になるか、誰とも親密になれないバッドエンディングになるようにする.
・妹と恋愛関係が深まる場合、病弱な妹への思いやりが徐々に、自然に恋愛感情へ変化するように描写する.
・ゲームの操作方法はコマンド選択式またはコマンド入力式とする.
・すべてUNIXシェル内部で処理し,外部コマンドは呼び出さないこと.
(ポイント)
☆UNIXシェルにするには,ファイルの最初に #!/bin/bashというおまじないを書く.
☆コマンド選択方式のゲームにする場合、select文を使用できる。
☆四則演算には $(( )) コマンドが使用できる.(ただし,整数しか扱えない.)


誰かわかるひとお願いします
0073名無しさん@お腹いっぱい。2010/02/26(金) 22:48:28
なったっていうか元から
0074名無しさん@お腹いっぱい。2010/02/26(金) 22:55:02
>>73
おにいちゃん、寂しいこと言わないで・・・

好感度 :-2
ストレス:+5
0075名無しさん@お腹いっぱい。2010/02/26(金) 23:10:47
くだらねえからもっとネタとしておもしろいお題提供してくれ
0076名無しさん@お腹いっぱい。2010/02/28(日) 00:22:12
コマンドとかBシェルはいろいろ使っていましたし、使いこなせますって言ったら
うちはKだしなって言われました。
個人的にはコマンドとか多少は違っていてもBシェル知っていたら、
それなりにKシェルとかでも対応できるじゃんと思っていますが


いまいち違いがわからないのですが
具体的にBシェル、Cシェル、Kシェルの決定的な違いってあるのでしょうか?
たとえばこれがあるからこれを採用しているとか
0077名無しさん@お腹いっぱい。2010/02/28(日) 00:35:37
あなたのいうBシェルがBourne Shell (/bin/sh) のことなら、
相手の言うKシェル(Korn Shell)はそれのスーパーセットなので、
機能が増えていると思えばいい。商用のUNIXだとkshがふつーに入っている。

あなたのいうBシェルがGNUのBourne-Again Shell(bash)のことなら、
同じようにBourne Shellのスーパーセットではあるが、kshとは系列が異なる。

/bin/sh の機能の範囲では大差ない。商用だとkshが、フリーだと
bashがそれの上位シェルとして使われていると思えばよい。

Linux だと /bin/sh だと思っても実体が bash だったりして知らない
うちに固有の機能に依存していることがあるので気をつける。

Cシェルのことは忘れていい。
0078名無しさん@お腹いっぱい。2010/02/28(日) 00:39:50
>>76
http://www.nurs.or.jp/~asada/FAQ/UNIX/UNIX.FAQ.5.html
0079名無しさん@お腹いっぱい。2010/02/28(日) 01:11:10
シェルスクリプトとVBA、どちらが簡単ですか?
0080名無しさん@お腹いっぱい。2010/02/28(日) 01:16:28
シェルスクリプト
0081名無しさん@お腹いっぱい。2010/02/28(日) 01:43:14
>>80
シェルスクリプトと比較して、VBAはどこがどんな風に難しいのでしょうか?
0082名無しさん@お腹いっぱい。2010/02/28(日) 10:29:39
処理系の入手が有償なとこ
0083名無しさん@お腹いっぱい。2010/02/28(日) 12:33:50
>>50
今時でつまつ調はキモい
■ このスレッドは過去ログ倉庫に格納されています