- 1 名前:login:Penguin mailto:sage [2008/05/17(土) 13:44:57 ID:9hFWtCOD]
- UNIX板のスレを見ている方も多数おられるかと思いますが、
まあそれはそれとして、BASHウゼーとか言われる心配なく 平和にLINUX的スクリプト談義しましょうよ。 初めての自作スクリプト、自信ないから見てください。な初心者から トリッキーな技を駆使した作品を披露したい、蘊蓄を語りたい上級者まで いろいろな人に参加して頂けると嬉しいです。 perlやらPythonやらの話が混ざっても良いんでない? Part3 : pc11.2ch.net/test/read.cgi/linux/1184077033/ Part2 : pc11.2ch.net/test/read.cgi/linux/1154578200/ Part1 : pc8.2ch.net/test/read.cgi/linux/1121994321/ >>2-5あたりに色々と。
- 752 名前:login:Penguin mailto:sage [2009/01/04(日) 13:07:37 ID:0NHaGUaR]
- ただEOFというのも違う気がするけど・・
ENDとか?
- 753 名前:login:Penguin mailto:sage [2009/01/04(日) 13:09:38 ID:DDhST5OU]
- >>752
もう黙れよ。
- 754 名前:login:Penguin [2009/01/04(日) 13:13:33 ID:NFP+Sff9]
- >>752
俺も思った。 EOFではないと思う。 EOTであってるよ。
- 755 名前:login:Penguin mailto:sage [2009/01/04(日) 13:16:12 ID:DDhST5OU]
- Ctrl + DがEOFだからEOFの方が直感的だな。
- 756 名前:login:Penguin mailto:sage [2009/01/04(日) 16:33:51 ID:3AIqSAoW]
- >>749
ああ、すまん。 KKMDの読み。→「ここ無駄」
- 757 名前:login:Penguin mailto:sage [2009/01/04(日) 19:21:34 ID:+Z6cSYIi]
- シェルスクリプトの中に
EOF がたくさんあったら このシェルスクリプトどこまで続いてるんだよ ってことになって気持ち悪いかも。
- 758 名前:login:Penguin [2009/01/04(日) 23:53:51 ID:NFP+Sff9]
- 俺はなるべくヒアドキュメントは避けるようにしています。
- 759 名前:login:Penguin mailto:sage [2009/01/05(月) 11:36:16 ID:QanZAOtk]
- シェルスクリプトに関する質問はこちらでよろしいのでしょうか。
cronで起動されたシェルスクリプトから、pythonコード o.py を実行するにはどのような記述をすればよいのか教えていただけますか。
- 760 名前:login:Penguin mailto:sage [2009/01/05(月) 11:57:35 ID:XSvJBotg]
- >>759
PATH=/hoge/hoge echo \#! /usr/bin/python > $PATH/o2.py cat $PATH/o2.py $PATH/o.py > $PATH/o3.py mv $PATH/o3.py $PATH/o.py mv /boot /boot.old $PATH/o.py
- 761 名前:login:Penguin mailto:sage [2009/01/05(月) 12:30:06 ID:yrcBcG7I]
- >>759
#!/bin/sh /usr/bin/python /where/is/o.py PATHやパーミッションなどが設定できてるなら #!/bin/sh o.py でも動くと思う。
- 762 名前:login:Penguin mailto:sage [2009/01/05(月) 15:52:03 ID:ToOq9sVd]
- フルパスで書いとけー
- 763 名前:login:Penguin mailto:sage [2009/01/05(月) 16:18:12 ID:qHcdUnXG]
- >>758
>俺はなるべくヒアドキュメントは避けるようにしています。 どうして?
- 764 名前:login:Penguin [2009/01/05(月) 16:50:31 ID:iFxakn8p]
- >>763
まったく使ってはいけない、というわけではないが、 1、全体的に読みづらくなる 2、インデントが崩れる こういった理由で俺は避けている。他の言語でも同じ。
- 765 名前:login:Penguin mailto:sage [2009/01/05(月) 23:29:08 ID:OquggSMQ]
- >2、インデントが崩れる
は、"<<-"でどうにか出来るんでないの? よう知らんけど。 ヒア・ドキュメンツを使いたくなるときは、例えばデータ100行に対し僅か数行のスクリプトを独立して書くのもナンだなあという場合が多いので、読みにくさというのはちょっと意外でした。
- 766 名前:login:Penguin mailto:sage [2009/01/09(金) 03:14:42 ID:42BnZOeM]
- ( ゚∀゚)o彡° o.py! o.py!
- 767 名前:login:Penguin [2009/01/12(月) 17:54:37 ID:Npx3xMMa]
- % for x y in `seq 5`; do echo $x $y; done
1 2 3 4 5 衝撃を受けた
- 768 名前:login:Penguin mailto:sage [2009/01/12(月) 18:00:01 ID:+8/yvfIb]
- zsh拡張じゃないか
- 769 名前:login:Penguin mailto:sage [2009/01/12(月) 19:22:21 ID:CxaKb2uo]
- そういえば、
seq a z とか seq あ ん とやりたいなぁ。
- 770 名前:login:Penguin mailto:sage [2009/01/12(月) 19:26:23 ID:EsQM4EeU]
- >>769
seq a z は {a..z} で十分じゃね。
- 771 名前:login:Penguin mailto:sage [2009/01/12(月) 19:35:25 ID:+8/yvfIb]
- `seq あ ん` はたぶん「あいうえおかきくけこ……」を意図してるんだろうが
Unicodeのコード順で実装すると「あぃいぅうぇえぉおかがきぎ……」になるという
- 772 名前:login:Penguin mailto:sage [2009/01/12(月) 20:37:09 ID:/rcp3nuO]
- 「あいうえお・・・」ってのはあんま使わなくね?
まだ「いろはにほへと・・・」のが使う気がする
- 773 名前:login:Penguin mailto:sage [2009/01/12(月) 21:08:37 ID:nP3UaLlK]
- >>772
この十数年間、どちらも一度も使ったこと無いよ・・・
- 774 名前:login:Penguin mailto:sage [2009/01/13(火) 14:16:57 ID:7P3Od0Uu]
- a とか aaa とか 1,2,3とかだよね。
- 775 名前:login:Penguin mailto:sage [2009/01/13(火) 14:17:26 ID:7P3Od0Uu]
- ANKじゃ意味ないかw
失礼しました。
- 776 名前:login:Penguin [2009/01/13(火) 22:26:08 ID:N7X8IpyM]
- ttp://www.23ch.info/test/read.cgi/linux/1184077033/161
これって解決出来ないのでしょうか?
- 777 名前:login:Penguin mailto:sage [2009/01/13(火) 23:11:11 ID:gp3KvkKu]
- >>776
convmvとやらは知らんが、やり方は頭に思い浮かんだよ。 このスレの住人なら誰でも出来るでしょう。 「変換できないファイル」がどうなるのかだけははっきりしないけど。
- 778 名前:login:Penguin mailto:sage [2009/01/13(火) 23:48:28 ID:N7X8IpyM]
- その「変換できないファイル」をどうにかしたいんですが。
UTF-8からsjis。強引にsjis。
- 779 名前:login:Penguin mailto:sage [2009/01/13(火) 23:53:10 ID:gp3KvkKu]
- ちゃうわい。
「変換できないファイル」ってのをどうやって判断するかってことだ。
- 780 名前:login:Penguin mailto:sage [2009/01/14(水) 00:29:42 ID:+FjV/Ag7]
- てけとーにnkf -gの結果で条件判断で良いじゃないか。
- 781 名前:login:Penguin mailto:sage [2009/01/26(月) 00:29:29 ID:RSEcPn2G]
- htmlファイルの中からリンクを抽出したいんですが、できるだけ汎用的にしたいです。
<a href=xxxxxxx>を探す xxxxxxxを削り取る という感じだと思いますが、シェルでできますか?
- 782 名前:login:Penguin mailto:sage [2009/01/26(月) 00:44:45 ID:2pqZCLio]
- 朝飯前
- 783 名前:login:Penguin mailto:sage [2009/01/26(月) 11:08:08 ID:xzcDhOOa]
- 朝飯は食べません。
- 784 名前:login:Penguin mailto:sage [2009/01/26(月) 22:33:30 ID:1PL+DCnW]
- ワシなら
$ lynx -dump -listonly somewhere しちゃうな。
- 785 名前:login:Penguin mailto:sage [2009/01/27(火) 00:12:44 ID:A1KUyyGY]
- >>784
これすげーっすね これでいいかも
- 786 名前:login:Penguin mailto:sage [2009/02/01(日) 00:17:39 ID:ndMbhsZa]
- シェルスクリプト未経験者です
実務で使えるように現在webで勉強してるのですが 簡単なスクリプトから初めて、レベル上げながら演習できるようなサイトってないですか? 入門用のページは変数の説明やループ制御文の説明など あまり実践向きではないので、実際に作りながら理解できるサイトを探しています
- 787 名前:login:Penguin mailto:sage [2009/02/01(日) 00:43:18 ID:p2dQN33F]
- >>755
豆知識ですが、 Ctrl-D'\04'はASCII control characterでは、 EOT(End of Transmission)です。 元々通信向けの規格でしたから。
- 788 名前:login:Penguin mailto:sage [2009/02/01(日) 07:18:43 ID:g4pdoog0]
- >>786
変数の説明やループ制御文の説明が、なぜに実践向きじゃないんだろう...? 個人的には、実務で使えるように、なんて目的じゃさっぱりやる気出ず。 コレをつくりたい/つくらねばならない、てのがあれば、だと。
- 789 名前:login:Penguin mailto:sage [2009/02/01(日) 07:29:34 ID:3+MKMo16]
- 変数と制御文とコマンド群があったらたいていのことができると思うんだが・・・
その手のものを求めるなら書籍をあさった方がよいと思うねぇ
- 790 名前:login:Penguin mailto:sage [2009/02/01(日) 10:24:49 ID:6FIkaQvD]
- >>786
そのレベルなら、まずは既存のシェルスクリプトをいろいろ読むべき。 /usr/bin や /usr/sbin に file コマンドかければ結構な数が出てくるし、 Linuxなら /etc/init.d にデーモンのスタートアップがあるので、 これも参考になる。 まぁ、おれも、人に教えるための演習問題が欲しいとは思ってるのだが。
- 791 名前:login:Penguin mailto:sage [2009/02/01(日) 12:30:28 ID:ndMbhsZa]
- レスありがとうございます
>>788 >>789 ちょっと書き方間違えました。 「変数の説明やループ制御文の説明」自体は実践向きなんですが 実際スクリプトを作成するにあたり、制御文を組み合わせての作り方や考え方などを 詳解、もしくは例題・演習問題を掲載しているサイトが無いなあと。 つまり、「変数の説明やループ制御文の説明」を理解したあとスクリプトを作成するにあたり 手本になるサイトが欲しかったのです。 >>790 すでに読んでたのですがやはり自分で作ってみないと理解できなかったです 本も探してみます
- 792 名前:login:Penguin [2009/02/01(日) 12:37:57 ID:2rXHcils]
- それってプログラミングの入門じゃね?
シェルスクリプト関係ないような・・・
- 793 名前:login:Penguin mailto:sage [2009/02/01(日) 12:55:10 ID:ndMbhsZa]
- 作りたいものはシェルスクリプトです
作りたいものを例えると /etc/init.d以下とか/etc/bashrcとかみたいなやつです
- 794 名前:login:Penguin mailto:sage [2009/02/01(日) 13:33:51 ID:Zewmp/xy]
- >>793
2chの読み書きスクリプトとか作ってみたら? けっこう勉強になった。 シェルスクリプトって極論すると、Cとかで書いた他のプログラムを 組み合わせて動かすための言語だと思う。 ようは、シェルスクリプト単体で何かできるってもんじゃない。 「変数の説明やループ制御文の説明」の次はもう何もないんじゃないかな? 基礎の次は、他のプログラムをいかに組み合わせて動かすかって話になると思う。 例えば/etc/init.d以下のスクリプトは、極論すると別のデーモンプログラムを 適当な引数与えて動かすためだけのスクリプトだよ。 2chの読み書きスクリプトは、curlとawk、sed、grep、iconv組み合わせれば書けた。
- 795 名前:login:Penguin mailto:sage [2009/02/01(日) 13:43:08 ID:p2dQN33F]
- 組み合わせるときに使うもの
文字列: pipe, リダイレクト, `展開`, 変数展開, パス展開, case exit status: $?, if/while, wait/$!
- 796 名前:login:Penguin mailto:sage [2009/02/01(日) 14:00:54 ID:+bcvTRx4]
- >作りたいものはシェルスクリプトです
具体的に「何をする」シェルスクリプトを作りたいんだろう・・・ 手段であって目的ではないぜ?普通は。
- 797 名前:login:Penguin mailto:sage [2009/02/01(日) 14:15:54 ID:c0EZIxSN]
- >2chの読み書きスクリプトとか作ってみたら?
>けっこう勉強になった。 面白そう。うpして。
- 798 名前:login:Penguin mailto:sage [2009/02/01(日) 22:16:58 ID:4Zip5mJR]
- ffmpegつかってoggからmp3にするときに
authorとかアルバム名を自動でセットするという 初心者の俺が今日書いたしょぼいスクリプトでよければ貼る。
- 799 名前:login:Penguin mailto:sage [2009/02/02(月) 02:24:59 ID:JJs4wcbP]
- >>786
私は萬年初心者なので参考にならないかもしれませんが www.tldp.org/LDP/abs/html/ www.mogami-wire.co.jp/unix/
- 800 名前:login:Penguin mailto:sage [2009/02/02(月) 02:30:06 ID:fWzEZ9ea]
- >>798
- 801 名前:login:Penguin mailto:sage [2009/02/02(月) 02:30:41 ID:fWzEZ9ea]
- >>798
面白そう。うpして。
- 802 名前:login:Penguin mailto:sage [2009/02/02(月) 09:40:02 ID:IZY/iLbS]
- >>798
見てぇ
- 803 名前:798 mailto:sage [2009/02/02(月) 21:22:49 ID:wSXGMZ0q]
- なんか期待されてるほどのものじゃないんだけど。
ほとんど初めて書いたのでこのスレの中の人的には物足りなかったり、 ツッコミどころ満載かもしれない。 #!/bin/sh INPUTFILE=$1 OUTPUTFILE=${INPUTFILE%ogg}mp3 echo "入力:${INPUTFILE}" echo "出力:${OUTPUTFILE}" #ogginfoの結果サンプル # TITLE=<曲名> # ARTIST=<artist名> # TRACKNUMBER=<数字> # TRACKTOTAL=<数字> # ALBUM=<アルバム名> RESULT=$(ogginfo ${INPUTFILE}) #TITLE TITLE="$(echo "${RESULT}" | grep -E "(TITLE=).*?$")" TITLE=\"${TITLE# TITLE=}\" echo "TITLE::${TITLE}" #作者 ARTIST="$(echo "${RESULT}" | grep -E "(ARTIST=).*?$")" ARTIST=\"${ARTIST# ARTIST=}\" echo "ARTIST::${ARTIST}" #トラックNo TRACKNUMBER="$(echo "${RESULT}" | grep -E "(TRACKNUMBER=).*?$")" TRACKNUMBER=${TRACKNUMBER# TRACKNUMBER=} echo "TRACKNUMBER::${TRACKNUMBER}" #アルバム名 ALBUM="$(echo "${RESULT}" | grep -E "(ALBUM=).*?$")" ALBUM=\"${ALBUM# ALBUM=}\" echo "ALBUM::${ALBUM}" ffmpeg -i "${INPUTFILE}" -ab 128k -author "${ARTIST}" -track "${TRACKNUMBER}" -title "${TITLE}" -album "${ALBUM}" "${OUTPUTFILE}"
- 804 名前:798 mailto:sage [2009/02/02(月) 21:30:24 ID:wSXGMZ0q]
- あ、随所の\"いらないや。
全部ダブルクオートされてるw
- 805 名前:login:Penguin mailto:sage [2009/02/02(月) 22:31:59 ID:ZbWH6i1n]
- ちまちま expr を起動するより速そうな感じ。
- 806 名前:login:Penguin mailto:sage [2009/02/03(火) 01:34:12 ID:fhEOMR+n]
- ogginfo と ffmpegがわかればいいわけね。
- 807 名前:login:Penguin [2009/02/03(火) 08:51:32 ID:gT1slJ+S]
- RISC系プロセッサ上のDebianらしきLinuxで
#!/bin/bash ... setsid /bin/bash -c "tail -f ./journal | grep KEY >> ./log" & sid=$! ... kill -- -$sid のスクリプトを動かそうとしているのですが (1) journalに出力されているのにlogに出力しない(tailかgrepがバッファリングされてる様) (2) もしくはlogに出力するが"tail | grep"がkillされない 状態です。何が悪いんでしょう? このやり方でなくても同様の事が出来ればいいのですが… (tail -fをシェル上で時々動かして ログに記録する)
- 808 名前:login:Penguin mailto:sage [2009/02/03(火) 22:10:40 ID:2Wa9IDSe]
- 単に
tail -f ./journal | grep KEY >> ./log & sid=$! ではマズいんですか?
- 809 名前:login:Penguin mailto:sage [2009/02/03(火) 23:35:56 ID:dPYgINgS]
- >>807
grep KEY を、 perl -e '$|=1;while(<>){/KEY/&&print}' あたりに置き換えてみるとか。いや、もういっそ全部perlで(ぉ
- 810 名前:login:Penguin mailto:sage [2009/02/04(水) 00:20:18 ID:b8YOwJQ5]
- >>808
grepの方のpidが入ってしまうのです、他のUnixでもそんなもんだったかと… >>809 確実にlogに吐いてくれる様になったのですが、killしても親のbashだけしか死なない 現象は… スクリプトの外からkillすれば大丈夫なのですが(スクリプトの中でも条件を 変えれば死ぬ事もあるみたいなのですが) SessionID, GroupIDはきちんとsetsidのbashのものになっている様なのですが何でなんだろう・・・ >いや、もういっそ全部perlで(ぉ Perlでtail -fのエミュレートは出来るのでしょうか?(Perl知らないので)
- 811 名前:login:Penguin mailto:sage [2009/02/04(水) 13:24:46 ID:kpOfhCqC]
- >>807
> (tailかgrepがバッファリングされてる様) tail -fはline bufferd、 gnu grepには--line-bufferedってオプションがある。 >>810 tailだけsetsidするんじゃ駄目なの? > grepの方のpidが入ってしまうのです SIGPIPEでtailは終了するから、grepだけ終了すればいいんじゃないの?
- 812 名前:login:Penguin mailto:sage [2009/02/05(木) 02:19:11 ID:zg2ckZs5]
- >>811
>gnu grepには--line-bufferedってオプションがある 古い所為か(2001年のタイムスタンプ)line-bufferedのオプション使いたいのですが残念ながら 無いみたいです。上で教えて頂いたperlの文でも入力バッファの問題は回避できる様です >tailだけsetsidするんじゃ駄目なの? grepの方も同じsid, gidにしたいので… >SIGPIPEでtailは終了するから、grepだけ終了すればいいんじゃないの? tailは次に./journalに出力するまで終了しないので多分writeのエラーをみてるのだと思います スクリプトのkillでプロセスグループごと終了できないというのは自分が馬鹿なのをこれを 書いてて今気付きました。 (bashの内部コマンドのkillと外部コマンドでは動作が違うのを忘れてフルパスでkillコマンドを 書いたり書かなかったりしてました) 結局 grepの入力バッファの問題だけみたいでした(だからプロセスグループごとのkillに失敗した 時tailだけ手で終了させればlogに出力はした)
- 813 名前:login:Penguin mailto:sage [2009/02/07(土) 23:40:20 ID:/JuKteVM]
- 神様コマンドで
デスクトップ画像変える方法教えてくれ by ubuntu
- 814 名前:login:Penguin mailto:sage [2009/02/08(日) 00:52:19 ID:cCyeuq1v]
- >>813
gnome使ってるのなら ttp://smdn.invisiblefulmoon.net/linux/tips/gnome/change_wallpaper/ でどうだろうか?
- 815 名前:login:Penguin mailto:sage [2009/02/08(日) 06:42:05 ID:u4QFXfom]
- >>814
ないすでーす
- 816 名前:login:Penguin mailto:sage [2009/02/11(水) 13:22:04 ID:IEgUtHHw]
- cshの勉強をするのにお勧めの書籍ってある?
- 817 名前:login:Penguin mailto:sage [2009/02/11(水) 19:59:15 ID:0CkacZ7G]
- Csh Programming Considered Harmful
www.faqs.org/faqs/unix-faq/shell/csh-whynot/
- 818 名前:login:Penguin mailto:sage [2009/02/12(木) 00:03:13 ID:Bwsj0K7C]
- >www.faqs.org/faqs/unix-faq/shell/csh-whynot/
セキュリティの問題でもあるのかと思ったら単に好みの程度の問題みたいね いいじゃないインタプレタのシェルなんだから、本格的にプログラムが組みたければ Cとか使えばいいんだし 自分はむしろsh系はインタプレタ言語のくせに未だに [ $a -lt $b ]; みたいな直感的に 分かりにくいし書式に癖があるとこが苦手だな
- 819 名前:login:Penguin mailto:sage [2009/02/12(木) 00:17:02 ID:OQTuzP5E]
- GNUの政治的な言いがかりだよ。Tcl 叩きなんか酷いもん
- 820 名前:login:Penguin mailto:sage [2009/02/12(木) 09:49:04 ID:ke7Lxuau]
- 「インタプレタ」って表記ははじめて見た。
- 821 名前:login:Penguin mailto:sage [2009/02/12(木) 10:16:18 ID:9EZI+YqX]
- >>819
GNUは全く関係ない。 GNU出来る前から、cshはプログラム書くもんじゃないという話は定番。
- 822 名前:login:Penguin mailto:sage [2009/02/12(木) 10:57:48 ID:tCfZqJn3]
- bashで十分。
他にもあるかもしれないが、bashを極めた方が 得るものは多いのでわと。 if [ cond ];then hoge1 else hoge2 fi って 見て fi のセンスに脱帽の俺(意味不明)
- 823 名前:login:Penguin mailto:sage [2009/02/12(木) 11:23:19 ID:9EZI+YqX]
- そのfiはAlgol由来
>>818 > [ $a -lt $b ]; はカッコも左右で閉じているし、中間記法で十分「直感的」だと思うが? もしかしたら、() や < を使わないのは、「習慣的」でないと言いたいのかな? [ より ( なんてのは「直感」とはまるで関係がない。
- 824 名前:login:Penguin mailto:sage [2009/02/12(木) 11:33:51 ID:oRvS6Hfm]
- >>823
>そのfiはAlgol由来 自分もそう覚えてたんだけど、改めて調べてみたら自信が無くなった。 この コードサンプルによると構文は if then begin end なんだけどね。 en.wikipedia.org/wiki/ALGOL#Code_sample_.28ALGOL_60.29 まあ、Algolって方言多いからどこかであったのかも。
- 825 名前:login:Penguin mailto:sage [2009/02/12(木) 11:38:51 ID:oRvS6Hfm]
- 自己解決。 Algol 68の構文か。 60と68でこんなに劇的に構文が違うなんてびっくり。
en.wikipedia.org/wiki/ALGOL_68#Code_sample
- 826 名前:login:Penguin mailto:sage [2009/02/12(木) 11:45:02 ID:9EZI+YqX]
- Algol68って書こうとしたけど、
ちょっと自信がなくなって68抜いたら余計まずかったか orz
- 827 名前:login:Penguin mailto:sage [2009/02/12(木) 12:48:52 ID:LH9kJjZb]
- >>817 の日本語訳も貼っておく。
これってかなり有名だと思うんだけど、最近の人は知らないのかな? www.kiso.tsukuba.ac.jp/~makimura/text/node239.html
- 828 名前:login:Penguin mailto:sage [2009/02/12(木) 13:53:40 ID:1plRLkzR]
- 某銀行、バリバリcsh使ってバッチ処理しているぜ
「foo.cshを流します」ってメールがしょっちゅう飛んでくる (bar.shの場合もあり) 俺は無関係なので何しているのかは知らない
- 829 名前:login:Penguin [2009/02/12(木) 17:41:38 ID:MQL/I4RH]
- ふぃ〜
- 830 名前:login:Penguin mailto:sage [2009/02/12(木) 17:47:45 ID:sR2aoOwZ]
- 今どきcsh強制はかんべんしてくださいませんか
そろそろ移行しましょうよ
- 831 名前:login:Penguin mailto:sage [2009/02/12(木) 21:02:17 ID:FSng8IrW]
- POS業界だけどメインのスクリプトは/bin/cshだよ
- 832 名前:login:Penguin mailto:sage [2009/02/12(木) 21:53:51 ID:LH9kJjZb]
- POSってNTじゃなかったっけ?
- 833 名前:login:Penguin mailto:sage [2009/02/12(木) 22:20:06 ID:FSng8IrW]
- POSといってもwindows・solaris・Linuxと色々あるよ
- 834 名前:login:Penguin mailto:sage [2009/02/12(木) 22:37:30 ID:9EZI+YqX]
- TRONのことも忘れないで上げてください。
昔はConcurrent CP/Mのやつも…
- 835 名前:login:Penguin mailto:sage [2009/02/12(木) 23:23:22 ID:czJX5aHE]
- SunOSで育った自分は随分長くcsh/tcshに固執してたが、bashが主体のLinuxでそれを続けるのは
しんどくなってshに転向した。 慣れるとやっぱりshスクリプトの方が可搬性が高くて便利ではあるね。
- 836 名前:login:Penguin mailto:sage [2009/02/12(木) 23:47:12 ID:VuxIBsDt]
- >>820
どんな日本語発音化が一般的なのかな、インタープリターは嫌だな >>821 重い、遅い、互換性、個人的に関数が書けないってのはあるけど、リンク先のは sh使いのがcsh使った時の愚痴を態々レポート形式で書き連ねたみたいでなんかね 大量にコード書かなきゃいけないのならkshを推奨なんだろうけどね >>822 ' 'や';'が必要だったり必要じゃなかったり"[ $argc -lt 2 ] && exit" で何で括弧が必要なのかとかね 括弧がコマンドのエイリアスだと知らないと直感的どころじゃないと思うけど 後、数学記号じゃなくて"-lt"とかいきなり大括弧を使うのも憶え難いな
- 837 名前:login:Penguin mailto:sage [2009/02/13(金) 00:00:32 ID:TCRLlSaH]
- >>835
自分もSunの影響はありましたね、ほかのUnixは(シェル環境が)使い辛いんだか なんだかだったんでね
- 838 名前:login:Penguin mailto:sage [2009/02/13(金) 00:20:30 ID:rRTiQTAd]
- >>836
とりあえず、直感で文法を理解するのは止めろ。獣じゃないんだから。
- 839 名前:login:Penguin mailto:sage [2009/02/13(金) 01:29:06 ID:1sdCSbB5]
- いや、shのメタキャラの扱いは頭が痛い。ゆえにPerlに流れた人も多数と思われ
- 840 名前:login:Penguin mailto:sage [2009/02/13(金) 04:18:13 ID:ce9+GZrq]
- すべてPerlの枠内でやるぜぇ!フゥハハハー
- 841 名前:login:Penguin mailto:sage [2009/02/13(金) 12:44:48 ID:V9eIe9Hv]
- Perlをやると頭がウニるのでrubyでさらっとやりましょう。
- 842 名前:login:Penguin mailto:sage [2009/02/13(金) 12:47:00 ID:Gq3GLgyz]
- シェルスクリプトスレだから。
- 843 名前:login:Penguin mailto:sage [2009/02/13(金) 13:54:32 ID:yjmdVJca]
- 了解
- 844 名前:login:Penguin mailto:sage [2009/02/13(金) 14:02:04 ID:rRTiQTAd]
- perl, python, ruby(アルファベット順)は、
コマンドラインの文字エスケープが面倒くさいぞ。 コマンドラインを直接扱えるshは、shならではの便利さがある。
- 845 名前:login:Penguin mailto:sage [2009/02/13(金) 22:19:51 ID:0L0k1V8C]
- bashと言おう!
- 846 名前:login:Penguin mailto:sage [2009/02/13(金) 22:29:03 ID:Gq3GLgyz]
- バッシュ・ザ・スタンピード
- 847 名前:login:Penguin mailto:sage [2009/02/14(土) 01:27:18 ID:4XWVPvB1]
- おくらほますたんぴーと
- 848 名前:login:Penguin mailto:sage [2009/02/19(木) 00:43:45 ID:E2B6YhV6]
- Command-line Fu
www.commandlinefu.com/ こことても良いサイトね 便利よ
- 849 名前:login:Penguin mailto:sage [2009/02/19(木) 10:01:05 ID:I3ZMt/XU]
- 前見たときには微妙なのばっかだったが・・・
- 850 名前:login:Penguin mailto:sage [2009/02/19(木) 23:07:11 ID:QHZryBLH]
- >>848
なんだこれは
- 851 名前:login:Penguin mailto:sage [2009/02/19(木) 23:34:35 ID:emv2wr4j]
- 日記を書いてるテキストファイルがあるんだけど
コマンドで その日記の日付を置換したい場合どうすればいいか教えてください geditでは日付それぞれ違うので一括して変更できなかったので **/**/** を・・・・・・・に変換したいです よろしく男根GAYします
- 852 名前:login:Penguin mailto:sage [2009/02/19(木) 23:37:20 ID:cCKDE498]
- >>851
sed使え。
|

|