- 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あたりに色々と。
- 2 名前:login:Penguin mailto:sage [2008/05/17(土) 13:45:47 ID:9hFWtCOD]
- 関連スレ
おまいら! sed の使い方教えて下さいm(_ _)m@linux板 pc11.2ch.net/test/read.cgi/linux/1067815570/ 【Shell】どのシェル使ってる?【Script】@LINUX板 pc11.2ch.net/test/read.cgi/linux/1067330754/ シェルスクリプト総合 その10 pc11.2ch.net/test/read.cgi/unix/1202725267/ sed@UNIX板 pc11.2ch.net/test/read.cgi/unix/1085730992/ 2ちゃん画像落としまくりスクリプト@UNIX板 pc11.2ch.net/test/read.cgi/unix/1003833552/ 連番のH画像/動画を一気にダウンロードする2 pc11.2ch.net/test/read.cgi/unix/1135533382/ ログを読みたい人はこちら makimo.to/cgi-bin/search/search.cgi?q=%83V%83F%83%8B%83X%83N%83%8A%83v%83g&andor=OR&sf=0&H=&view=table&all=on&shw=
- 3 名前:login:Penguin mailto:sage [2008/05/17(土) 13:46:06 ID:9hFWtCOD]
- 参考リンク
bashで始めるシェルスクリプト基礎の基礎 @IT www.atmarkit.co.jp/flinux/rensai/theory08/theory08a.html シェルスクリプト(Bash)入門 CYBERAM Documents Project cyberam.dip.jp/linux_command/shellscript.html IBM developerWorks 実例でわかるsed www-06.ibm.com/jp/developerworks/linux/010202/j_l-sed1.html www-06.ibm.com/jp/developerworks/linux/010216/j_l-sed2.html www-06.ibm.com/jp/developerworks/linux/010223/j_l-sed3.html 実例でわかるawk www-06.ibm.com/jp/developerworks/linux/010330/j_l-awk1.html www-06.ibm.com/jp/developerworks/linux/010413/j_l-awk2.html www-06.ibm.com/jp/developerworks/linux/010622/j_l-awk3.html コマンドラインからのグラフィックス操作 www-06.ibm.com/jp/developerworks/linux/031031/j_l-graf.html 洗練されたPerl: MP3とPerlで遊ぶ www-06.ibm.com/jp/developerworks/linux/040319/j_l-cpmp31.html www-06.ibm.com/jp/developerworks/linux/040402/j_l-cpmp32.html
- 4 名前:login:Penguin mailto:sage [2008/05/17(土) 13:46:45 ID:9hFWtCOD]
- >2
おまけの関連スレ シェルスクリプト相談室 pc11.2ch.net/test/read.cgi/tech/1112553783/ awkについて語るスレ $2 pc11.2ch.net/test/read.cgi/tech/1172242542/
- 5 名前:login:Penguin mailto:sage [2008/05/21(水) 00:32:13 ID:a/iElE66]
- Unix系は仕事でSolarisから入ったので、Linuxでもtcsh使ってますが何か?
- 6 名前:login:Penguin mailto:sage [2008/05/21(水) 00:32:36 ID:a/iElE66]
- お、何かいいID
- 7 名前:login:Penguin [2008/05/21(水) 20:20:15 ID:5fFqv5kV]
- シェルでエロゲ作成したいんだけど意見聞かせてくださいな
- 8 名前:login:Penguin mailto:sage [2008/05/21(水) 20:57:55 ID:MNgR1LfO]
- ギガバイ子ちゃんでお願いします。期待しています。
- 9 名前:login:Penguin mailto:sage [2008/05/21(水) 23:57:35 ID:DRn6AcXl]
- ヒロインの一人に使ってあげてくれ
_,,.. -ー 'ヘ-、、_ .!、、 !、_、,.ィ'" _ ,,.. _,゙ヽ, \`ー`= '´ _,..、 ヽ `、 ヽ ゝ、 /´ ` `ヽ ゙、 / ,/ ,、/ ,.イ ! ヽ、 ノ ー=ニ,..-、,ヾ;、' /,.' ! i| ! 、__ ,.Zャ ー- 7 , /,、ヾ;、,.ィ // ,イ! ,!ト | ,イ 、ヾ、_ / ,.' ,' ! ヾ;、'イ/ / / / |i |!,! / ヽ、 \、_ ,/イ / ,!,イ!/_ !|;/ //_,.ィー|' /,ィ、 、ー- '" _/,.イ/!|i !ニ。ミ /' ,ィ:;゚ソゞ |i }、-r-ー'ィ  ゙̄/',.ヽ,|!ヾ`ゞ'=' ` ´ /!'" ーヤ  ̄´フ! / ハ ,: ,イ ト、 ー_ユ-r''"`! /___ ,. \ ー_-;ァ /!-''"イ´ |;;! ,.|  ̄ /´ /イ!|/ ,ヘ、、 ,..イ;''´::;イ| ,.! '´イ! /ヘ! { !/:::!'ヾi| ` ゙/:::::/ | !.-,..=-'´!| ゙|! イ{゙ ト、 ヾ::::::::゙、 /::::::; ' ,r',.ヘヾ ゙!| ゙、 _,.-ゞト!、 ヽ ゙!:::::::ヽ/::::,イ| /イ-r'┴-、、 |;i ! / !__,,...|;i,.._ヽi!、 |::ヽ::イ!::/ ヾ!ィ'´ |;! ゙iヽ| ト'' ソ / r|'"`7/゙T`,>ヾ>;!ノ:r!::く ,イ´,.!|__,,.. -┴ー -、!|ヾ゙!_ノ ,イL/゙! // / //´>::|!:::|i::ネ{! i!,!'´ // ヾ,.|i| ,!,イ/ヾi! | L;. /イ/::::::|!::::|ir-、' /___//_ ノソi;|
- 10 名前:login:Penguin [2008/05/23(金) 04:46:10 ID:RB3w3nsA]
- ちょっとスレの趣旨から離れてしまいますが、
たとえば Windows の WSH のように Javascript で 一般的なシェルスクリプトのようなものを実行できる インタープリタって、Linux にはないんでしょうか? 普段は bash 使っててそれで仕事上は全然問題ないんですが、 Windows ではバッチ処理を WSH + JScript で書いているので ふとなんで Linux にはそういうのがないんだろうか、って思って。
- 11 名前:login:Penguin mailto:sage [2008/05/23(金) 07:16:44 ID:uTynWoSg]
- OpenJDK+Rhinoじゃダメかい?
- 12 名前:login:Penguin mailto:sage [2008/05/23(金) 22:34:35 ID:tQ4+YbeK]
- 自宅のLinuxマシンをsmbサーバにして、
画像、テキスト、動画など、すべてのファイルを保存・管理しています。 仕事で書いた原稿記事などについても、 いちいち GUI アプリで開かなくても、 ターミナルからでも中身を閲覧できるように、 必ず文字コードは UTF-8, 改行コードは LF で保存しています。 が、クライアント(主として MacOSX、たまに Windows)のターミナルから、 そうしたテキストファイルを less で見ると、当然のことながら、 見やすい場所での改行を一切しないで、 ターミナルの幅いっぱいにテキストを広げてくれます。 これを、何か適当なところ(例えば一行は50字など)で 改行を入れて表示させてやる方法ってあるでしょうか? クライアントは主として MacOSX 10.4.11 で、 使っている仮想端末は、OSX 標準の /Applications/Terminal.app です。 たまぁに WindowsXP や Windows2000 などからもアクセスし、 その場合には poderosa.exe を使っています。 サーバマシンは CentOS4.6 です。 ls になんらかのオプションを与えて整形するのか、 それともなんらかのシェルスクリプトを組んでやる必要があるのか、 基本的なところからわかりません。 どなたかアドバイスいただけませんでしょうか? よろしくお願いいたします。
- 13 名前:login:Penguin mailto:sage [2008/05/23(金) 23:29:13 ID:1NkPPjck]
- >>10
こういうものはある。使ってる人は見ないけど。 ttp://www.wxjavascript.net/ >>12 スレチだけど lv -W50 これでわからなければCentOSのスレへ
- 14 名前:login:Penguin mailto:sage [2008/05/23(金) 23:44:07 ID:emu552tY]
- lvってCentOS製だったの?
- 15 名前:login:Penguin mailto:sage [2008/05/23(金) 23:52:41 ID:yTe4r5LG]
- >>13
どうもありがとうございました。 CentOS 用のパッケージは見つからなかったんですが、 ソースが見つかったので、checkinstall で rpm を作り、 インストールしたらすぐに希望通りのことができました。
- 16 名前:login:Penguin mailto:sage [2008/05/24(土) 08:58:44 ID:RlisQGoN]
- Mac OSXはUnix系と聞いたが、改行コードが違うのか。
- 17 名前:login:Penguin [2008/05/24(土) 09:20:38 ID:yYzGER+2]
- >>16
昔の MacOS は違ったなぁ.
- 18 名前:login:Penguin mailto:sage [2008/05/24(土) 09:42:14 ID:z250jUqQ]
- まだ\rなのか
- 19 名前:login:Penguin mailto:sage [2008/05/24(土) 10:01:19 ID:R69XGiJs]
- ええと、標準だと今でも CR+LF ではないかと思いますが、よく知りません。
- 20 名前:login:Penguin mailto:sage [2008/05/24(土) 16:36:20 ID:tQzGMWxj]
- >>16
Linuxと同じくLF ja.wikipedia.org/wiki/改行コード ja.wikipedia.org/wiki/プレーンテキスト www.openspc2.org/JavaScript/returnCodeJS/
- 21 名前:login:Penguin [2008/05/24(土) 16:52:04 ID:yYzGER+2]
- * LF: UNIX系のシステム。Linux、AIX、Xenix、Mac OS X、BeOS、Amiga、RISC OSなど。
* CR+LF: CP/M、MP/M、DOS、OS/2、Microsoft Windows。 * CR: コモドールによるシステム、Apple IIファミリ、Mac OS(バージョン9まで)、OS-9。
- 22 名前:login:Penguin mailto:sage [2008/05/24(土) 20:48:36 ID:5ErPV5SE]
- >>20-21
あ、OSの改行コードの違いにより改行されないことが>>12の相談かと思ったよ。 そもそも改行していない文章を fmt したいということか。
- 23 名前:login:Penguin mailto:sage [2008/05/24(土) 22:57:24 ID://jRJGUZ]
- MACはCRとずっと思ってたのにLFなのかぁ
- 24 名前:login:Penguin [2008/05/28(水) 15:18:10 ID:HsWDzpDn]
- 子プロセスとして起動されたのか,
. で読み込まれたのか, スクリプトの中から判断することはできますか?
- 25 名前:login:Penguin [2008/05/28(水) 15:23:33 ID:HsWDzpDn]
- それぞれ set の結果を diff してみた.
#子プロセスとして起動した ./test.sh < BASH_ARGC=() < BASH_ARGV=() < BASH_LINENO=([0]="0") < BASH_SOURCE=([0]="./test.sh") --- #. で読み込んでみた . test.sh > BASH_ARGC=([0]="1") > BASH_ARGV=([0]="test.sh") > BASH_COMPLETION=/etc/bash_completion > BASH_COMPLETION_DIR=/etc/bash_completion.d > BASH_LINENO=([0]="39") > BASH_SOURCE=([0]="test.sh") ふぅん.BASH_SOURCE じゃ判定できそうにないな. BASH_ARGC が 0 じゃないことでチェックするのかな?
- 26 名前:login:Penguin [2008/05/28(水) 15:31:38 ID:HsWDzpDn]
- -------すくりぷと test.sh
#!/bin/sh set -------ここまで chmod +x test.sh ./test.sh ./test.sh a b c . test.sh . test.sh a b c 4つともやってみたけど,結局何で判定すりゃいいのかわからない. 死ね俺.
- 27 名前:login:Penguin [2008/05/28(水) 15:36:50 ID:HsWDzpDn]
- ${BASH_LINENO[0]}
で判定するのがよさげなんだけど, そもそも sh にはそんな機能ないの? bash 限定はちょっとやだなぁ.
- 28 名前:login:Penguin [2008/05/28(水) 15:42:12 ID:HsWDzpDn]
- 単純に $0 で判定するのがいいのか?
- 29 名前:login:Penguin mailto:sage [2008/05/28(水) 15:43:32 ID:RYpMT0gt]
- lessの代わりにleafpadを使えば
- 30 名前:login:Penguin [2008/05/28(水) 17:51:58 ID:4Ch8TEZp]
- sh または bash で配列の結合ってできますか?
- 31 名前:login:Penguin mailto:sage [2008/05/28(水) 19:03:04 ID:xwe44XYV]
- 神様助けてください
関数に配列を渡す方法がわかりません a=( あ い う え お ) fnc(){ echo ${1[0]} } fnc a これで”あ”が出ると思ったんですがでません 教えてください お願いします
- 32 名前:31 mailto:sage [2008/05/28(水) 20:20:45 ID:xwe44XYV]
- シェルスクリプトにはスクリプト内でスコープが無いことを知り
a=( あ い う え お ) fnc(){ echo $a[0] } fnc で”あ”が表示できるようになりました
- 33 名前:login:Penguin mailto:sage [2008/05/28(水) 23:35:58 ID:auu89eB+]
- ループ文で外部ファイルから読み込んだコマンドを実行しようとしたときに
パイプ処理ができずに困ってます。(下記の場合、ls -lの結果しかでません) サブシェルの方に行ってしまっているのかな?と思っているのですが、どう処理したらよいのでしょうか? FILE=test.txt while read LINE do $LINE done < $FILE ■test.txtの内容(例) ls -l | grep abc
- 34 名前:login:Penguin mailto:sage [2008/05/29(木) 00:07:17 ID:vP9yV59g]
- >30
c=(${a[*]} ${b[*]}) >33 FILE=test.txt while read LINE do eval $LINE done < $FILE
- 35 名前:33 mailto:sage [2008/05/29(木) 00:17:22 ID:iY0MCSHA]
- >>34
ありがとう!できました!便利なもんがあるんですね。 助かりました〜。
- 36 名前:login:Penguin [2008/05/30(金) 19:21:49 ID:p9jie4Lm]
- echo $a[0]
これってちゃんと出力できるの? ${a[0]} ってしないとエラーにならね?
- 37 名前:login:Penguin mailto:sage [2008/05/30(金) 19:45:31 ID:ZG0+9xy3]
- % a[0]='abcef'
% echo $a[0] abcef % echo ${a[0]} abcef % echo $SHELL /bin/zsh
- 38 名前:login:Penguin [2008/05/31(土) 06:16:56 ID:g+xuahlh]
- #!/bin/sh
a[0]='abcef' echo $a[0] a[0]='abcef' echo ${a[0]} -------------------- [siomizu@cluster ~]$ ./test.sh abcef[0] abcef
- 39 名前:login:Penguin mailto:sage [2008/05/31(土) 16:10:17 ID:qUj8kkoX]
- uniqはUTFには対応していないでしょうか?
たとえば、以下2行がある場合にuniqすると承のみになってしまいます。 承 <- 0xE689BF 良 <- 0xE889Af 環境はdebianのcoreutils 6.10-6、改行コードはLFを使用しています。 よろしくお願いします。
- 40 名前:login:Penguin mailto:sage [2008/05/31(土) 16:22:33 ID:q3zltHwi]
- 再現できるスクリプトを書いてください
- 41 名前:39 mailto:sage [2008/05/31(土) 16:33:59 ID:qUj8kkoX]
- >>40
私でしょうか? 単に以下の2行を書いたファイルを用意してuniqです。 承 良 あ、「<-」以降は単にUTF8でこんなバイナリになるというのを示しただけです。 失礼しました。
- 42 名前:login:Penguin mailto:sage [2008/05/31(土) 16:36:28 ID:q3zltHwi]
- 私の環境では再現できませんので。
$ printf "\xe6\x89\xbf\n\xe8\x89\xaf\n" | uniq 承 良
- 43 名前:39 mailto:sage [2008/05/31(土) 16:46:52 ID:qUj8kkoX]
- >>42
そうですか・・・ うちでは % printf "\xe6\x89\xbf\n\xe8\x89\xaf\n" | uniq | hexdump -C 00000000 e6 89 bf 0a e8 89 af 0a |........| 00000008 でした。参考までにディストリとLC_ALL何にしているか教えていただけませんか?
- 44 名前:39 mailto:sage [2008/05/31(土) 17:01:51 ID:qUj8kkoX]
- すいません 43でできてるじゃないかorz
LC_ALLをUTFにした状態だとうまくいきました。 uniqはロケール見るのか・・・ ありがとうございました
- 45 名前:login:Penguin mailto:sage [2008/06/01(日) 19:54:58 ID:3xisQkfz]
- オライリの入門bash難しいよ・・・
これホントに入門なの・・・?
- 46 名前:login:Penguin mailto:sage [2008/06/01(日) 21:38:04 ID:EWKpU6i4]
- オライリーは全般的に中級者が読む本だ
- 47 名前:login:Penguin [2008/06/02(月) 18:36:56 ID:GT1ocSub]
- すみません。くだ質から誘導されてきました。よろしくお願いします。
bangou.txtには ▲ 123123 123123 100000 ▲ ▲ というように数値が入っています。(▲は空白ですが改行コードがはいってます) この場合、1行目と3行目を比較して3行目に数値が入っている場合のみ2行目の値を別表に表示する スクリプトを作りたいと思って色々調べて以下のようなスクリプトを作ってみましたけど うまく動きません。(空白は空白として認識してくれないと行がずれるのでそれも認識したいです) #!/bin/bash for iii in `cat bangou.txt` do jjj=`sed -n '2p' bangou.txt` export jjj kkk=`sed -n '3p' bangou.txt` export kkk if [ "$iii" = -n ] then echo "$kkk>/dev/null else echo "$jjj > jjj.txt paste jjj.txt toku.txt >> toku2.txt rm -rf jjj.txt fi done どこか間違ってるんでしょうか?よろしくお願いします。
- 48 名前:login:Penguin mailto:sage [2008/06/02(月) 19:03:36 ID:X93+nxzv]
- >>47
やりたいことがよくわからん。 toku.txt の内容と、 実行後に toku2.txt がどういう内容になってればいいのかを書いてくれ。
- 49 名前:login:Penguin [2008/06/02(月) 19:28:58 ID:GT1ocSub]
- >>48さん
返信ありがとうございます。 toku.txtは住所録です。 それをとりあえず一旦、toku2.txtにbangou.txtと組み合わせたものを 書き出しているだけなのでtoku2.txtには特に何も入っていません。 toku.txtは ▲ 東京都 東京都 東京都 東京都 東京都 ▲ 愛知県 みたいな感じです。(▲は空白です) これをそのままpasteでbangou.txtと結合すると ▲▲ 123123 東京都 123123 東京都 100000 東京都 ▲ 東京都 ▲ 東京都 となってしまうのでこれを ▲▲ 123123 東京都 123123 東京都 100000 東京都 100000 東京都 100000 東京都 というようにしたいんです。空白の行に一番最後の 番号を割り当てたいんです。わかりにくくてすみません。宜しくお願いします。
- 50 名前:login:Penguin [2008/06/02(月) 19:35:12 ID:GT1ocSub]
- ごめんなさい。「▲は空白」と書きましたけど実際は改行コードが入っているだけです。
すみません。ごめんなさい。
- 51 名前:login:Penguin mailto:sage [2008/06/02(月) 19:44:36 ID:X93+nxzv]
- いまいちよくわからんな。
>>47 の > この場合、1行目と3行目を比較して3行目に数値が入っている場合のみ2行目の値を別表に表示する っていう話もどうなったのやら。 シェルスクリプトでがんばるより perl あたりで書いちゃった方が早そう。
- 52 名前:login:Penguin [2008/06/02(月) 19:54:09 ID:GT1ocSub]
- >>47の書き方が悪かったかもしれないです。ごめんなさい。
実際には>>49のような処理をしたいんです。 perlでもいいです。一旦処理できればいいんで。お願いします。
- 53 名前:login:Penguin mailto:sage [2008/06/02(月) 20:01:01 ID:6RTLtbwy]
- pasteコマンドで結合して処理すればいいんじゃないの?
- 54 名前:login:Penguin [2008/06/02(月) 20:07:59 ID:GT1ocSub]
- >>53さん
ご指導ありがとうございます。pasteで結合しただけだと bangou.txtで空白の部分があるので >>49 のように ▲▲ 123123 東京都 123123 東京都 100000 東京都 ▲ 東京都 ▲ 東京都 となってしまうので困ってます。 これを 123123 東京都 123123 東京都 100000 東京都 100000 東京都←空白が上の行と同じ番号 100000 東京都←空白が上の行と同じ番号 という風にしたいんです。お願いします。
- 55 名前:login:Penguin mailto:sage [2008/06/02(月) 20:09:26 ID:6RTLtbwy]
- 100000 でいいならsedで置換するだけじゃん。
- 56 名前:login:Penguin [2008/06/02(月) 20:11:48 ID:GT1ocSub]
- >>55さん
お返事ありがとうございます。 数値は「10000」ではないんです。 上にある行の数値が欲しいんです。 わかりにくい説明ですみません。 宜しくお願いします。
- 57 名前:login:Penguin mailto:sage [2008/06/02(月) 21:14:50 ID:W+U/n8+A]
- paste bangou.txt toku.txt | awk '{printf( "%s %s\n", (NF>1)? $1: onaji, $NF );
onaji=$1}' とかかな? でも、番号の1行目が空白のときはどうするのだろう。
- 58 名前:login:Penguin [2008/06/03(火) 00:37:37 ID:xzQHL5F2]
- >>57さん
ありがとうございます! 明日早速試してみます。ありがとうございます。
- 59 名前:login:Penguin mailto:sage [2008/06/03(火) 16:14:01 ID:CIWG+PQ4]
-
あのスレ住人(特にdebユーザ)に、お願いなんだが、テンブレにあるし絶対ダメだとかいわんけど 書き込むとき、せめてシェルスクリプトと他のperlなんかのスクリプト言語は 意識して区別してくれまいか?ここ、「シェルスクリプトスレ」だから。 (上で「特にdebユーザ」と言ったのは、批判じゃなくて、前スレで発覚したんだが debはディストリレベルでコマンドとperlスクリプトなんかが混在になってるらしく ユーザ自身が区別しない慣習のようだから。でも、それって一般的じゃないし混乱のもとだよね?) sedでもawkでもperlでもいいけど(ここら辺までは普通にシェルで使うだろけど、 perlで複雑なことやりこんだり)なんでもありありなら、わたしゃpythonやzenityや 織り込んでGUIやgtkベースの話はじめちゃうぞw
- 60 名前:login:Penguin mailto:sage [2008/06/03(火) 16:16:16 ID:8f1erIVq]
- 「テンブレ」?
「ディストリレベルで混在」? どういう意味?
- 61 名前:login:Penguin mailto:sage [2008/06/03(火) 16:43:03 ID:CIWG+PQ4]
- >>60
テンプレつーのは、つーか、>1に >perlやらPythonやらの話が混ざっても良いんでない? とあるし、>2-4にスクリプト言語のリンクも張ってある。 混在つーのは、具体例では、debではrenameコマンドがperlスクリプトprenameに置き換えてあるし どうやらシェル上のパスの通し方なんぞが、perlなどを使いやすいように拡張されてるようだ。 ま、debユーザじゃないので詳しいところまではわからないけどね。 一応断っておくけどdeb批判じゃないよ。
- 62 名前:login:Penguin mailto:sage [2008/06/03(火) 16:56:54 ID:8f1erIVq]
- 「テンプレ」を「テンブレ」と書いていたことには気付いているのだろうか。
>>61 > 混在つーのは、具体例では、debではrenameコマンドがperlスクリプトprenameに置き換えてあるし これは特殊かつ些細な例でしょ。 他に何かある? > どうやらシェル上のパスの通し方なんぞが、perlなどを使いやすいように拡張されてるようだ。 そんな事実はないよ。
- 63 名前:login:Penguin mailto:sage [2008/06/03(火) 17:08:25 ID:CIWG+PQ4]
- うわぁ、やっぱりdeb信者は・・・ごめんなさいね。趣旨だけ理解してちょ。
- 64 名前:login:Penguin mailto:sage [2008/06/03(火) 17:10:02 ID:GEyZQq+8]
- これだけで信者扱いする君もそうとうなものだと思うぞ。
- 65 名前:login:Penguin mailto:sage [2008/06/03(火) 17:11:57 ID:CIWG+PQ4]
- はいはい、ごめんなさい、ごめんなさい。あんたが大将。
- 66 名前:login:Penguin mailto:sage [2008/06/03(火) 17:23:16 ID:8f1erIVq]
- 信者って決めつけられてもな。
Debian も使ってるし他のディストリも使ってるし。 よく知りもしないのにいいかげんなこと言うな、ってだけ。
- 67 名前:login:Penguin mailto:sage [2008/06/03(火) 17:46:57 ID:L2QLzXUM]
- ちんこ
- 68 名前:login:Penguin mailto:sage [2008/06/03(火) 20:26:13 ID:UQvQZC/E]
- >>59
分界点が判らない。
- 69 名前:login:Penguin mailto:sage [2008/06/03(火) 20:51:52 ID:+2Z+EheD]
- >>68
分界線という言葉ならあるが
- 70 名前:login:Penguin mailto:sage [2008/06/03(火) 22:24:45 ID:4bIEot6Q]
- Debianではっつうか、そいつの問題だろう。
シェルスクリプトかperlスクリプトか見てわからないような奴は他の鳥使ったってわかるようにならない。
- 71 名前:login:Penguin mailto:sage [2008/06/03(火) 22:25:09 ID:meWc8EbG]
- >>59
> debはディストリレベルでコマンドとperlスクリプトなんかが混在になってる デブな人だけどなんのこっちゃ? まさかPerlスクリプトなら*.plになるとか言ってるわけじゃないよな?
- 72 名前:login:Penguin mailto:sage [2008/06/03(火) 22:31:11 ID:/nacTMrw]
- というか、俺も言ってる意味が分からない
とくにディストリレベルっていう言葉 ディストリレベルってのはどのレベル?
- 73 名前:login:Penguin mailto:sage [2008/06/03(火) 22:41:59 ID:8iXvkF35]
- #/bin/sh
perl -e printf( "hello world\n" ); だと、>>59基準でOKか否かが分かんない。
- 74 名前:login:Penguin mailto:sage [2008/06/03(火) 22:48:40 ID:513yN16/]
- 例えばls って打つと ls.pl が起動されるって事だと読み取った。
Debian系は使っていないので真実は知らない。
- 75 名前:login:Penguin mailto:sage [2008/06/03(火) 22:49:50 ID:OcnJ3se+]
- #!/bin/sh
perl sh.pl ruby sh.rb php sh.php system("hoge.sh",$ret); exec("hoge.sh",$ret); exec("sed 's/B/A/g' $current > $tmp",$ret); exec("rm $current",$ret); system("mv $tmp $current",$ret); もう人生バラ色です
- 76 名前:login:Penguin mailto:sage [2008/06/03(火) 23:39:04 ID:/nacTMrw]
- 俺の人生はルビー色
- 77 名前:login:Penguin mailto:sage [2008/06/03(火) 23:48:22 ID:J2hvNDuq]
- 質問です。
$ ls "a" file1 file2 $ echo ls \"a\" ls "a" $ `echo ls \"a\"` ls: cannot access "p": No such file or directory 三つめでエラーになるのはなんででしょう? こういう時はどう書くのが正しいのですか?
- 78 名前:login:Penguin mailto:sage [2008/06/03(火) 23:52:30 ID:4a1SGQ4Q]
- $ ls "a"
ls: a: No such file or directory $ echo ls \"a\" ls "a" $ `echo ls \"a\"` ls: "a": No such file or directory $
- 79 名前:login:Penguin mailto:sage [2008/06/03(火) 23:53:03 ID:wxT19Ovz]
- eval `echo ls \"a\"`
- 80 名前:77 mailto:sage [2008/06/03(火) 23:55:16 ID:J2hvNDuq]
- >>79
おお!早速ありがとうございました。
- 81 名前:login:Penguin mailto:sage [2008/06/04(水) 10:36:15 ID:bCIXok9Z]
- bashの/dev/nullについて質問します。
lsの表示結果でエラー出力だけは表示させずに 標準出力のみtest.txtファイルに出力したいのですが 自分の理解では以下に書いた2になりますが、表示結果 では1でないと通りません。どのようにイメージしたら宜しいのでしょうか? 1: ls /home/ > /dev/null 2>&1 > test.txt 2: ls /home/ > test.txt > /dev/null 2>&1
- 82 名前:login:Penguin mailto:sage [2008/06/04(水) 10:42:14 ID:jifIrR2s]
- >>81
「bash のリダイレクトについて」だろ。 /dev/null は bash の問題ではない。 ls /home/ >/dev/null 2>test.txt で OK。
- 83 名前:login:Penguin mailto:sage [2008/06/04(水) 11:04:40 ID:bCIXok9Z]
- >>82
すいません、リダイレクトについてでした。回答有難うございます。 ls /home/ >/dev/null 2>test.txtについての流れで確認を して頂きたいのですが宜しくお願い致します。 上記の標準出力1の状態について、lsの結果が/dev/nullに行く。 (ここでデータは破棄されてしまうという考えなのですが) そして、エラー出力2はtest.txtになってますよね? 1の状態 /dev/null 2の状態 test.txt
- 84 名前:login:Penguin mailto:sage [2008/06/04(水) 11:52:58 ID:3E+PCnl7]
- >>81
> 1: ls /home/ > /dev/null 2>&1 > test.txt 1) /dev/null を標準出力の出力先に指定 2) 標準出力の出力先をエラー出力の出力先に指定 3) test.txt を標準出力の出力先に指定 結果 標準出力: test.txt エラー出力: /dev/null > 2: ls /home/ > test.txt > /dev/null 2>&1 1) test.txt を標準出力の出力先に指定 2) /dev/null を標準出力の出力先に指定 3) 標準出力の出力先をエラー出力の出力先に指定 結果 標準出力: /dev/null エラー出力: /dev/null
- 85 名前:login:Penguin mailto:sage [2008/06/04(水) 11:59:59 ID:jifIrR2s]
- >>81
1: でほんとにうまく行ってる?
- 86 名前:login:Penguin mailto:sage [2008/06/04(水) 16:29:28 ID:bCIXok9Z]
- >>84
リダイレクトは出力先を決めるだけなのですか。 解説して頂いた通りで色々パターンを考えてみましたら 出来るようになりました、有難うございます >>85 一応処理結果では正常な雰囲気なのですが、>>81ですと 理解しずらいので、変えようか考えています。 レス遅れましたが皆さんありがとうございました
- 87 名前:login:Penguin mailto:sage [2008/06/04(水) 22:17:21 ID:T1bDhlj1]
- >>86
シェルどころか日本語まで・・・
- 88 名前:login:Penguin mailto:sage [2008/06/05(木) 00:21:00 ID:lO8RLUCT]
- 与えられたパスを絶対パスに正規化したいのですがどうすればよいですか?
単に相対->絶対の変換をするだけじゃなくて .とか..も適切に変換してくれるとうれしいのですが。
- 89 名前:login:Penguin mailto:sage [2008/06/05(木) 00:23:58 ID:qyhUQGl8]
- >>88
`pwd`/$1
- 90 名前:login:Penguin mailto:sage [2008/06/05(木) 00:32:17 ID:brEG0pS6]
- realpathだっけ?
- 91 名前:login:Penguin mailto:sage [2008/06/05(木) 06:27:50 ID:Ysl4yLMq]
- ここはLinux板だからreadlink -fでどうか
- 92 名前:login:Penguin mailto:sage [2008/06/07(土) 17:03:59 ID:lYfLA/cT]
- スレ違いのような気もしますが・・・
lsの出力が端末だとスペース区切りなのにパイプやリダイレクトすると改行になるのはどういう仕組みですか?
- 93 名前:login:Penguin mailto:sage [2008/06/07(土) 17:10:19 ID:6DqLCPKX]
- isatty(3)
- 94 名前:92 mailto:sage [2008/06/07(土) 17:13:39 ID:lYfLA/cT]
- なるほど、lsのほうで端末かどうかみてるんですね…
納得しました。どうもありがとうございます。
- 95 名前:login:Penguin mailto:sage [2008/06/08(日) 00:25:14 ID:z0g0MNBT]
- スレ違いだと思うならくだ質に行きなさい。
- 96 名前:login:Penguin mailto:sage [2008/06/08(日) 14:37:28 ID:w3H8z2Sk]
- シェルスクリプト中で、リダイレクトでファイルを生成するとファイル名が文字化けしてしまうのですが
一体何が悪いんでしょうか。 ↓みたいなことになります。 $ echo $LANG ja_JP.UTF-8 $ cat test.sh echo a > "$1" $ echo hoge > "あいうえお.hoge" ; ls test.sh あいうえお.hoge $ sh test.sh "あいうえお.hoga” ; ls ??????????.hoga test.sh あいうえお.hoge touchとかなら文字化けしないようなのですが。
- 97 名前:96 mailto:sage [2008/06/08(日) 14:54:23 ID:w3H8z2Sk]
- 補足です。
$ ls | hexdump -C 00000000 e3 82 e3 84 e3 86 e3 88 e3 8a 2e 68 6f 67 61 0a |...........hoga.| 00000010 74 65 73 74 2e 73 68 0a e3 81 82 e3 81 84 e3 81 |test.sh.........| 00000020 86 e3 81 88 e3 81 8a 2e 68 6f 67 65 0a |........hoge.| 0000002d
- 98 名前:login:Penguin mailto:sage [2008/06/08(日) 21:58:48 ID:cpZuCikO]
- ls --show-control-chars
- 99 名前:login:Penguin mailto:sage [2008/06/09(月) 19:55:01 ID:Dt/jCYdy]
- jp.youtube.com/watch?v=x7pPajOvQGo
ワロタ
- 100 名前:login:Penguin mailto:sage [2008/06/09(月) 20:44:39 ID:19yx0Oqh]
- 注文スクリプトを作りました、ってこと?
|

|