[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/10 01:32 / Filesize : 243 KB / Number-of Response : 985
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

シェルスクリプト総合@LINUX Part4



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あたりに色々と。

692 名前:login:Penguin mailto:sage [2008/12/28(日) 10:04:59 ID:V8VzuV0w]
>>691
その役割までを語って初めて説明だと思うが。

693 名前:login:Penguin mailto:sage [2008/12/28(日) 10:22:27 ID:UElCX9mx]
1から10まで説明する義務はないし・・・
まあググっとけ

694 名前:login:Penguin mailto:sage [2008/12/28(日) 10:49:16 ID:gH9u5ZJh]
>>690
{}の中に特殊文字があってindirect expantsionしなければおんなじ。

695 名前:login:Penguin mailto:sage [2008/12/28(日) 11:32:10 ID:qx39pT0/]
>>690
hoge=HOGE
echo "$hoge"
echo "$hogehoge"
echo "${hoge}hoge"


696 名前:login:Penguin mailto:sage [2008/12/28(日) 13:52:19 ID:X7MLwHJR]
>その役割までを語って初めて説明だと思うが。
なんでやねん…
クォーティングの話題に突如としてトンチンカンな話が降って来たら、「それとこれとは話が別」と話題を戻すだけでいい。
あなたはアサッテな割り込みに一々説明を付してるの?

697 名前:login:Penguin mailto:sage [2008/12/28(日) 14:11:20 ID:gH9u5ZJh]
スルー推奨

698 名前:login:Penguin mailto:sage [2008/12/28(日) 16:15:02 ID:uuzQR67D]
>>694,>>695
あーなるほど.ありがとう

699 名前:login:Penguin mailto:sage [2008/12/28(日) 16:57:51 ID:k8TtxyBW]
>>692
なら説明してあげればいいじゃん。

700 名前:login:Penguin mailto:sage [2008/12/28(日) 17:25:58 ID:UVDbYRmP]
692=690なのでそれは無理



701 名前:login:Penguin mailto:sage [2008/12/28(日) 22:34:26 ID:V8VzuV0w]
>>700
はずれw

702 名前:login:Penguin mailto:sage [2008/12/29(月) 00:54:22 ID:SBfu66K7]
では、
知識レベルが692=690なのでそれは無理

703 名前:login:Penguin mailto:sage [2008/12/29(月) 23:16:33 ID:/oNto50r]
>>689
マクロじゃなくね?

704 名前:login:Penguin mailto:sage [2008/12/30(火) 01:00:20 ID:lBIxx9ih]
Cの#defineはマクロと言い慣わしてるんじゃないの。

705 名前:login:Penguin mailto:sage [2008/12/30(火) 01:00:39 ID:87J+HjQp]
>>703
#defineはどう考えてもマクロだよ

706 名前:login:Penguin mailto:sage [2008/12/30(火) 05:02:34 ID:pBkCbbzG]
>>704
#define hoge(x) ((x) + 1)
ってのがマクロなんじゃね?

cppをマクロプロセッサと言ってしまうなら#includeとか命令によらず、cppの指令はマクロだ。

707 名前:login:Penguin mailto:sage [2008/12/30(火) 06:19:54 ID:9LZImUfc]
>>706
それはマクロ関数と言うんだ

708 名前:login:Penguin mailto:sage [2008/12/30(火) 08:50:55 ID:6bdNNdYb]
>cppをマクロプロセッサと言ってしまうなら
誰も言ってないようだよ。
徹夜は脳の働きが衰えるから、やはりきちんと睡眠をとった方が良い。

709 名前:login:Penguin mailto:sage [2008/12/30(火) 09:37:14 ID:wDHrwpLi]
>>708
おはよう。
そんな浅い部分で揚げ足を取られても、どうしていいか分からない。


710 名前:login:Penguin mailto:sage [2008/12/30(火) 12:43:54 ID:rrOPwMCx]
分からないって、まだ寝惚けてるのか…

よく読め。それとも寝言なのか。
>#define hoge(x) ((x) + 1)
>ってのがマクロなんじゃね?
>cppをマクロプロセッサと言ってしまうなら#includeとか命令によらず、cppの指令はマクロだ。



711 名前:login:Penguin mailto:sage [2008/12/30(火) 15:51:33 ID:sP1b7pNg]
いいかげんよそでやってくれんかの。

712 名前:login:Penguin [2008/12/30(火) 15:54:59 ID:3P3IYyTe]
いいじゃんか、年末年始くらい。
普段忙しいやつも、普段から暇なやつも、この時期はゆっくりしようじゃないか。

713 名前:login:Penguin mailto:sage [2008/12/30(火) 16:15:51 ID:sP1b7pNg]
そんなの理由にならん。
雑談スレなりム板なりに行ってくれ。

714 名前:login:Penguin [2008/12/30(火) 16:35:52 ID:3P3IYyTe]
自治厨か...

715 名前:login:Penguin mailto:sage [2008/12/30(火) 16:40:22 ID:87J+HjQp]
他に話題ないなら雑談でもいいじゃない。

ちなみに現在のwikipediaによると

ja.wikipedia.org/wiki/%E3%83%9E%E3%82%AF%E3%83%AD_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E7%94%A8%E8%AA%9E)
ja.wikipedia.org/wiki/%E3%83%97%E3%83%AA%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5

>>703 >>706 は間違い。

ってわけで3分待って異論がなければ次の話題どうぞー。

716 名前:login:Penguin mailto:sage [2008/12/30(火) 20:48:26 ID:iG8gioVG]
sleep 3m

717 名前:login:Penguin [2008/12/30(火) 20:53:39 ID:3P3IYyTe]
exit

718 名前:login:Penguin mailto:sage [2008/12/30(火) 21:09:33 ID:wDHrwpLi]
>>715
Wikipedia

>ってわけで3分待って異論がなければ次の話題どうぞー。

じちすんな。


719 名前:login:Penguin mailto:sage [2008/12/31(水) 01:13:41 ID:HIiJTqzM]
>>716
いつも sleep 180ってやってた orz
きっと10年位前からある機能を今まで知らなかったんだろうなw

720 名前:login:Penguin mailto:sage [2008/12/31(水) 01:21:21 ID:Q1/GD5E9]
>>719
逆にいつも sleep 5s ってやってた orz



721 名前:login:Penguin mailto:sage [2008/12/31(水) 13:40:15 ID:E41Z+i5Y]
>>718
間違っています。
以上。
↓次の方どうぞ

722 名前:login:Penguin mailto:sage [2008/12/31(水) 16:38:05 ID:K4Z2AOR3]
findの-wholenameはいつからできたのか?

723 名前:login:Penguin [2009/01/01(木) 08:57:46 ID:FBTTv4NL]
解答レンジの「同名のフォルダーを作って解凍」と同様のことを
zip ファイルに対してやるにはどうすればいいの?
unzip にはそういったオプションがないようなので。


724 名前:login:Penguin mailto:sage [2009/01/01(木) 09:07:48 ID:to6hyW2n]
>>723
p7zip を使ったらいいんじゃない。
大抵のアーカイブに対応していて、-o{Directory} オプションもあよ。

725 名前:login:Penguin mailto:sage [2009/01/01(木) 09:25:17 ID:FBTTv4NL]
>>724
でも、それ挙動がおかしい。

$ 7z e -odir1 package1.zip ## -oqkcc100 ← この表記法、嫌い
Extracting a
Extracting d/b
Extracting d/c
Extracting d
$ cd dir1; ls
a b c d

直感的に dir1 の下に a d/b d/c d を配置したいだけなんだけどね。


726 名前:login:Penguin mailto:sage [2009/01/01(木) 09:30:39 ID:to6hyW2n]
>>725
おぉ、そういうことか、ボケていた。724 は忘れてくれ。
以下でファイル名から、拡張子を取り除けるけど、こういうことができればいいのか?
これでよかったら、あとは unzip なり 7z へのラッパースクリプトかいてちょ。

$ HOGE=hoge.1.zip bash -c 'echo ${HOGE} ${HOGE%.*}'
hoge.1.zip hoge.1


727 名前:login:Penguin mailto:sage [2009/01/01(木) 09:45:06 ID:to6hyW2n]
>>725
> $ 7z e -odir1 package1.zip ## -oqkcc100 ← この表記法、嫌い
> 直感的に dir1 の下に a d/b d/c d を配置したいだけなんだけどね。

-odir1 つけてもいいなら、e じゃなくて x にすればフルパスで解凍されると思う。


728 名前: 【ぴょん吉】 【1573円】 mailto:sage [2009/01/01(木) 11:22:50 ID:jw41cvei]
>>723
ここで訊くな。くだ質行け。
>>724
ここで答えるな。くだ質行け。

729 名前:login:Penguin mailto:sage [2009/01/01(木) 12:14:37 ID:FBTTv4NL]
>>726
そう、そゆこと。でもサンクス。

>>727
ほんとだ、サンクス。

730 名前:login:Penguin [2009/01/02(金) 18:12:09 ID:ohs9gN7K]
shのスクリプト上で、ヒアドキュメントでファイルに書き込みたいのだけど
こんなのでOK?他に書き方ありますか?

cat > test.txt <<EOT
mage moge foo
bar mage moge
EOT



731 名前:login:Penguin mailto:sage [2009/01/02(金) 22:28:51 ID:Cj1d82QM]
試す環境ないの?
試したら壊れる環境使ってるの?
馬鹿なの?死ねよ

732 名前:(;д;)三○てふてふ ◆1xsES22i66 mailto:sage [2009/01/02(金) 22:31:52 ID:fPBZU9Th]
>>731
おまえがな 


733 名前:login:Penguin mailto:sage [2009/01/03(土) 00:46:20 ID:DudTe9Q0]
馬鹿死ねはさすがにアレだけが、
>こんなのでOK?
と問われたら、自分で検証しろよと、俺も思う。

734 名前:login:Penguin mailto:sage [2009/01/03(土) 00:48:10 ID:ontY0Yu/]
「死ね」とか言う奴見るのって2chかニコ動だなwwww

735 名前:login:Penguin [2009/01/03(土) 00:52:25 ID:INN5XMDP]
>>731はツンデレなんでしょ?

736 名前:login:Penguin [2009/01/03(土) 04:52:02 ID:9DfraQ3i]
すいません・・・
動いてはいるんですが、ていせき(ry があるもんだと思いまして・・・

737 名前:login:Penguin mailto:sage [2009/01/03(土) 08:17:18 ID:ZQC6YIk5]
>>736
EOTよりEOFの方じゃね?

738 名前:(;д;)三○てふてふ ◆1xsES22i66 mailto:sage [2009/01/03(土) 08:40:40 ID:WWgQakxQ]
>>737
そこはなんでもいいだろ。


739 名前:login:Penguin mailto:sage [2009/01/03(土) 08:50:38 ID:ZQC6YIk5]
>>738
そうだけどEndOfFileのEOFの方が可読性あって良いかなと思っただけ

740 名前:login:Penguin mailto:sage [2009/01/03(土) 12:08:06 ID:fFlXYuL2]
なんでもいいだろ。
HOGEが一般的だな。



741 名前:login:Penguin [2009/01/03(土) 12:17:35 ID:INN5XMDP]
>>740

742 名前:【凶】【486円】 [2009/01/03(土) 12:20:23 ID:VWSyUA+i]
>>740

743 名前:login:Penguin mailto:sage [2009/01/03(土) 12:27:32 ID:ZQC6YIk5]
>>740
つ ヒアドキュメントでHOGEは書かない

744 名前:740 mailto:sage [2009/01/04(日) 01:36:19 ID:3QHmuHBz]
すみません。
自分の中で一般的でした。

745 名前:login:Penguin mailto:sage [2009/01/04(日) 04:00:16 ID:whB0leUb]
EOTだと可読性がってwwww

746 名前:login:Penguin mailto:sage [2009/01/04(日) 06:58:09 ID:GVYQDkbG]
KOKOMADEって俺だけ?

747 名前:login:Penguin mailto:sage [2009/01/04(日) 07:14:22 ID:vt6ibbAg]
長すぎるw
KKMD

748 名前:login:Penguin mailto:sage [2009/01/04(日) 08:44:37 ID:Zp4rGAMm]
ここ無駄?

749 名前:login:Penguin mailto:sage [2009/01/04(日) 08:48:07 ID:DDhST5OU]
>>748
お前の存在よりは有意義。

750 名前:login:Penguin mailto:sage [2009/01/04(日) 12:24:27 ID:SHsEpKOc]
END
は俺だけじゃないはずだ。



751 名前:730 mailto:sage [2009/01/04(日) 12:51:57 ID:wLkLatZJ]
EOT=End of Textの意味でした
なんで正月早々こんなくだらない話題でもりあがっとるんだw
(そっちを聞いてるんじゃねええw)

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]
それってプログラミングの入門じゃね?
シェルスクリプト関係ないような・・・






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<243KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef