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


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

zsh その4



1 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/02 20:03:26 ]
zshのスレその4です。

過去スレ
zsh入門
pc.2ch.net/test/read.cgi/unix/990283346/
zsh入門 パート2
pc3.2ch.net/test/read.cgi/unix/1036324177/
zsh その3
pc5.2ch.net/test/read.cgi/unix/1080002786/

>>2-3リンク

10 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/03 00:46:03 ]
おめでとう

11 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/03 00:56:28 ]
新スレわーい

12 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/03 00:57:43 ]
なぁんかさぁ freebsd で
mount /proc
って補完できないようになってるみたいだけど、どーいう訳?
mount /compat/linux/proc
は出るんだけどね。
補完の mount point に /proc があらわれないってことだけど
% grep proc /etc/fstab
proc /proc procfs rw 0 0
linproc /compat/linux/proc linprocfs rw 0 0
とはしてるんですよね。
/usr/local/share/zsh/4.2.3/functions/Completion/Unix/_mount の 770行目とかが
原因だと思うのですが、何故このような記述があるのでしょうか。

13 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/03 00:58:37 ]
いえ、特に問題はありませんが。

14 名前:名無しさん@Vim%Chalice [05/02/03 17:51:20 ]
標準エラーをパイプできるようになったけど、
なんで、stdout stderr を同時にパイプできないんだ!ふざけてる
コマンド出力で、、stdout stderr を別の文字で同時にgrepしたい

15 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/03 18:11:48 ]
command 2>&1 | grep hoge

16 名前:15 mailto:sage [05/02/03 18:12:48 ]
ん? 別の文字か。おれにはわからん。頼む↓

17 名前:名無しさん@Vim%Chalice [05/02/03 18:33:25 ]
>>15
だからそれだと、同じ文字で両方grepじゃん!
別々にgrepかけたいの。コマンドラインの作業として
必要とされると思うんだけど、そんな高ポイントなんで対応しないんだ?
それで最強シェルなのか?

18 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/03 19:07:54 ]
よくわからんが
command > >(grep word1) 2> >(grep word2)
とかじゃ不満なのか



19 名前:名無しさん@Vim%Chalice [05/02/03 19:14:53 ]
>>15
ビンゴです。勉強不足でした・・・
やはり最強。bashにはできない

20 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/03 19:17:31 ]
command | grep foo 2| grep bar
なんていう記法があってもよさそうだな。いまんとこないけど。



21 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/03 19:19:11 ]
>>19
bash でもまんまできるみたいだけど?

22 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/03 19:20:27 ]
>>18じゃなくて>>15がビンゴなのかよ

23 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/03 19:20:33 ]
>>20
パイプ繋ぐ時にどうするか考えると、その手のは難しそう。

24 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/03 19:20:48 ]
>>21
ワロタ

25 名前:名無しさん@お腹いっぱい。 [05/02/03 19:22:06 ]
最強のシェル キタ━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(゚  )━(∀゚ )━(゚∀゚)━!!!!

26 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/03 19:28:57 ]
ここまでのあらすじ: zsh と bash は同じくらい最強のシェルということが判明

27 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/03 20:17:16 ]
昭和シェル

28 名前:名無しさん@お腹いっぱい。 [05/02/03 20:27:11 ]
zsh-4.2.4



29 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/04 10:50:37 ]
過去ログを置いておいた。
hiki.ex-machina.jp/zsh/?ZshLinks

30 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/04 17:40:37 ]
>>29
乙乙

31 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/05 02:43:19 ]
4.2.4 はどう変わってるのかな

32 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/05 05:39:17 ]
Cygwin対策

33 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/06 04:54:21 ]
cygwin.com 落ちとる

34 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/06 21:01:34 ]
復活したってよ。cygwin には 4.2.4 きたかな。

35 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/07 17:38:25 ]
4.2.4 の ports きたなあ。でも cygwin 対策なら関係ないかな。

36 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/07 18:21:49 ]
cygwin版バイナリはいまだに4.2.3なんだけどね

37 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/08 00:00:26 ]
表示される日本語の文字化けなんとかならんかなあ。

38 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/08 12:04:47 ]



   ま  た  お  ま  え  か  !  !






39 名前:名無しさん@Vim%Chalice [05/02/08 19:52:35 ]
zshってプロセス通信できるの?プロセス通信自体よくわかっていないけど
たしか、bashにできなくてkshにできると聞いたことがある
そもそも利用価値あるのかな

40 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/08 22:09:24 ]
>>39
パイプならあります。パイプいらんかえ。

41 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/09 09:58:05 ]
>>39
zftp

42 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/13 21:59:13 ]
sourceforge なかなか復活しないな。

43 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/14 04:09:36 ]
LANG=C にしてないと Subversion のコマンドの補完がぐちゃぐちゃになっちゃうみたい。

44 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/14 06:04:23 ]
補完候補をとるために実行するときはLC_ALL=Cを先頭につけるようにして
もらってくれ。まかせた >43


45 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/14 22:33:18 ]
svnの補完は bugs.debian.org/291683 にあるから
次のバージョンで直るはず。

46 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/14 22:43:44 ]
>>45
おお、情報ありがとうございます。果報を寝て待ちます。

ところで >>44 さんに言われてからどうやってバグ報告したものかと
途方に暮れてたんですが、
もしバグ情報のチェックとか報告するとしたら、
その bugs.debian.org のを見に行くのが正解でしょうか?

47 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/15 00:03:01 ]
いいえ、zsh-workersにメールしましょう。


48 名前:名無しさん@Vim%Chalice [05/02/15 16:05:08 ]
zshで任意の doTest コマンドの補填を aa1 aa2 aa3 ... のようにしたいのですが
compctl の使用方法がよくわかりません



49 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/15 16:07:11 ]
>>48
そうですか

50 名前:名無しさん@Vim%Chalice [05/02/15 17:04:44 ]
けちっ

51 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/15 18:15:12 ]
「任意の doTest コマンド」って何ですか?

52 名前:名無しさん@Vim%Chalice [05/02/16 17:57:09 ]
ls a*<tab><C-i>とうっても、ファイル名が展開されないです。
展開するときのキーが違うのでしょうか?

53 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/16 18:04:31 ]
>>52
どのような状況で何がやりたいのですか?
man zshoptions は読みましたか?

54 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/16 18:13:23 ]
どーせ vi キーバインドになってるに9200ストールマソ

55 名前:名無しさん@Vim%Chalice [05/02/16 18:25:11 ]
>>53
いろいろなサイトを見ていて、自分用の補填をするときは-kで
compctl -k "(test1 test2 test3)" test ってやればOKと書いてあり、
test test* まで打ち、<tab> と <Ctr-I> を入力すると
test test1 test2 test3 が補填される と書いてあったので
それを試そうとしていました。ちなみに bindkey -e は設定してます。
zshoptions は すいません、読んでいません・・・

56 名前:51 mailto:sage [05/02/16 19:23:17 ]
>>48 =>>53 =>>55 氏の聞きたい事(たぶん)の補完

任意のコマンド(testだと同名のコマンドと紛らわしいのでhogeとする)に対し
$ comctl -k "(test1 test2 test3)" hoge
と独自の補完機能を定義しました。このとき
$ hoge test<Tab>
とすると test1,test2,test3 が補完侯補として正常に動作します。

今ここで
$ hoge test*
からワイルドカード展開をしたいのです。
(注)ワイルドカード展開するには C-x * を打つ必要がある
$ hoge test*<C-x *>
しかしながら、カレントディレクトリには test1,test2,test3 が存在しないので
$ hoge test1 test2 test3
と展開されません。
これを展開する方法はありますか?

ということですか? >> 48 氏

57 名前:56 mailto:sage [05/02/16 19:31:55 ]
>>56
s/comctl/compctl/

58 名前:名無しさん@Vim%Chalice [05/02/16 19:36:18 ]
>>56
まことにお恥ずかしいですが・・・・
そのとおりです。説明が足りておりませんでした。
ちなみに、私の環境で test*(C-x *) を入力したら
*が消えて、test になりました。
zshのバージョンは zsh 4.2.0 (i686-pc-cygwin) です。



59 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/16 19:40:54 ]
ファイル名でなくてもワイルドカードは展開されるんでしたっけ?

60 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/16 23:04:16 ]
確か、前スレあたりにあった気もするが
setopt glob_complete
でいいかな?
zstyle の completer から _expand を外しておくこと。

61 名前:名無しさん@Vim%Chalice [05/02/17 12:17:04 ]
>>60
setopt glob_complete
zstyle ':completion:*:default' expansions
を実行してだめでした。zstyleがいまいち理解できてないのですが、
やはり間違っているでしょうか

62 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/17 14:04:06 ]
いまいちやりたいことがわからん。
>>55を読むと、test1、 test2、 test3 をそれぞれ補完候補にしたいのではなくて、
どうやら test1 test2 test3 に展開して欲しいみたいだが…
定義からしてそんな動きをするわけないが

63 名前:名無しさん@Vim%Chalice [05/02/17 14:39:31 ]
>>62
やりたいことを先に書くべきでした。すいません。
コンソースでSQLを打つことが多く、カラム指定がめんどくさく、そこで考えました。
sql用のカラム補填を作るのですが、補填しやすくするために
カラムをそれぞれ、
t1_c1_column1 t1_c2_column2 t1_c3_column3 ... として
sql t1_c[12]* from tbl とすると、カラム1と3が補填できるようにする、
がやりたいことです。
上の例で、補填でも10個を1つ1つ補填するのは面倒です。
ただし、<tab>で補填候補を確認できることはメリットです。
SQLを実行しようとおもい、t1_c<tab>で全カラムを確認し、
補填したい物を確認して、それを t1_c[13579]* で展開できれば
5つを別々に補填しなくてもすむので、操作の手間が大幅に短縮できるかと、
そうおもって調べていました。

64 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/18 13:20:04 ]
そういう風に展開する関数を書いたほうが早くねーかい?

65 名前:名無しさん@Vim%Chalice [05/02/18 13:43:52 ]
だしかに、そんなような気がしてきたような・・・

66 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/18 14:34:12 ]
>>63
メーリングリストでも似たような質問を何度か見かける。試しにやってみたが、
全展開は簡単にできるが絞り込みがうまくいかない。例えば下のような感じ。
他に影響がないように機能を C-x x に割り当てている。

_foo () {compadd bar{1..5}{a,b}}
compdef _foo foo

zle -C all-matches complete-word _generic
bindkey '^Xx' all-matches

zstyle ':completion:all-matches:*' completer _all_matches _complete _match
zstyle ':completion:all-matches:*' old-matches false
zstyle ':completion:all-matches:*' match-original only
zstyle ':completion:all-matches:*' insert true

% foo bar<C-x x> → foo bar1a bar1b bar2a bar2b bar3a bar3b bar4a bar4b bar5a bar5b
% foo bar*<C-x x> → foo bar1a bar1b bar2a bar2b bar3a bar3b bar4a bar4b bar5a bar5b bar*
% foo bar[25]b<C-x x> → foo bar2b bar5b bar[25]b

などとなって、補完対象の文字列がそのまま残ってしまう。でも
% foo bar[48]a<C-x x> → foo bar4a
となったりするからよく判らん

67 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/19 05:52:37 ]
これじゃダメかい?

zle -C all-matches complete-word _generic
bindkey '^Xx' all-matches
zstyle ':completion:all-matches::::' completer _all_matches _complete
zstyle ':completion:all-matches:*' insert true
setopt glob_complete

68 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/19 08:12:07 ]
だめだな



69 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/19 11:59:46 ]
あるコマンドの時だけ補完を抑制したいのですが、どうすればよいのでしょう?
ポインタだけでもプリーズ。
java コマンドの補完があんまり重いんで、コイツだけ殺したい。


70 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/19 12:12:29 ]
>>69
compdef -d java

71 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/19 16:35:40 ]
補完可能な文字列ってどうすれば取得できる? 例えば
> ls <TAB>
file-a file-b file-c
なら、"file-"がほしい。

72 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/19 22:27:47 ]
取得って補完するわけではなくて?

73 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/19 23:28:47 ]
>>70
thx!

74 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/19 23:55:20 ]
>>72
はい。実際に補完するのではなくて、現在のカーソル位置でcomplete-wordしたら
補完されるはずの文字列を取得したい。

cur=$CURSOR
zle complete-word
PART_COMPLETE=$BUFFER[cur, CURSOR]
みたいに取得する…ってのは無理あり過ぎか。

75 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 10:45:37 ]
FreeBSD5.3Releaseで
portsからzsh+euc_hack-4.2.4を入れました。
gdbでデバッグをしようと
break main
run
としたら、プロンプトが戻ってこなくなってしまいました。
tcshでは問題が無いのでzshのせいだと思います。
どうしたらgdbを使えるようになるでしょうか。

76 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 12:45:44 ]
>>75
?何をデバッグしたいの?

77 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 12:51:41 ]
僕と彼女の仲をデバッグしたいです
コアを吐いてしまって・・・

78 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 14:41:29 ]
>76
大学で情報科学をやっているんで、
使えないと困るんです...



79 名前:76 mailto:sage [05/02/20 14:47:05 ]
>>78
答えになってないですよ。

80 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 15:01:06 ]
>76
すいません。あまり重要な質問とも思えなかったので
さしあたって
#include <stdio.h>
int main()
{
printf("hello\n");
return 0;
}
のようなプログラムをデバッグしたいと思います。

81 名前:76 mailto:sage [05/02/20 15:05:51 ]
>>80zshをデバッグしたいのかな?と思ったので。

gdbとzshは全く関係ないはず。
break mainで戻ってこないってのはどうなってるんだろう? C-cで
割込みしたらどうなる?

#多分スレ違い。

82 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 15:25:30 ]
>81
>gdbとzshは全く関係ないはず。
と、思っていたんですが、
zshをログインシェルにしてログインした状態で
gdbを使うとrunでプロンプトが戻ってこなくなってしまうんです。
C-cの時のメッセージはどんなのが出てたかは忘れてしまいましたが、
tcshでプロンプトが戻ってくる時にやった時とは
違うメッセージが出てたと思います。


83 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 15:29:43 ]
>>82
zshとtcshで環境変数とかが違うとか。
デバッグするプログラムはgdbなしで普通に実行できる?

84 名前:75 mailto:sage [05/02/20 15:40:32 ]
>83
>デバッグするプログラムはgdbなしで普通に実行できる?
問題ありません。

>zshとtcshで環境変数とかが違うとか。
それはちょっと気がつきませんでした。
gdbのメッセージと併せて、
少し調べてみます。

85 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 16:01:38 ]
zprofileだかzshenvだったか、gdbの実行時に読まれてしまう。
本家でもバグ報告上がっていたような。
特にzshenvという名前にだまされてこのファイルに環境変数書いてしまう人がはまる。

86 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 16:04:51 ]
何か実行すると読まれるってことすか。

87 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 16:06:32 ]
zshenv になんらかの環境変数をかくのは正しいのでは

88 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 16:07:18 ]
>>74
それだとどんな問題があるの?



89 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 16:13:03 ]
全部.zshrcに書けば問題ない

90 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 16:14:19 ]
問題あるなしの話ではなくて
まあいいけど. 私も使ってないし

91 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 16:20:59 ]
>>85
は? なんでgdbがzshのファイルを読むわけ?

92 名前:名無しさん@お腹いっぱい。 [05/02/20 16:32:11 ]
それがgdbクオリティ

93 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 19:53:22 ]
漏れの人生もデバッグしたい

94 名前:75 mailto:sage [05/02/20 20:51:45 ]
>85
まさしくそれだったみたいです。
ありがとうございます。
zshが原因だとぜんぜん気がつかず、
デバッガまで作っちまったよ...

95 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 21:13:34 ]
デバッガ作ったのか。すごいな。

96 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 21:19:05 ]
"^J"を押しても何も起きないようにするにはどうすればいいですか?

bindkey -s "^J" ""
このようにすればできるのですが、もっと素直な方法はありますか?

97 名前:91 mailto:sage [05/02/20 21:42:39 ]
gdbってシェルを起動してるのか。知らなかった。
>>85
zshenvに環境変数を書いてもいいと思うが。

98 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 22:47:24 ]
>>96
bindkey -r '^J'
bindkey '^J' undefined-key



99 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/20 23:07:15 ]
>>74
無理あんの?

100 名前:96 mailto:sage [05/02/20 23:42:02 ]
>>98
両方ともベルが鳴ってしまうようです。答えてくださってありがと
うございました。

101 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/21 01:56:38 ]
>>96
-s は素直でないかな

102 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/21 03:56:57 ]
>>97
まあ書いてもいいんだけど、サンプルのzshenvに書いてある
コメント読んでもらえれば。でも普通の人はそんなこと意識
しないでzshenvという名前だけ見て環境変数全部このファイル
に書いたりしてるんじゃないの、という意味で>>85を書いた。

103 名前:名無しさん@Vim%Chalice [05/02/21 11:03:44 ]
ログインしたときに、前回のdirstackを自動で復活させることはできますか?

104 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/21 11:23:14 ]
>>103
こんなのしか思いつかないよ

typeset MICHISHIGESAYUMI="$TMP/.sayumin"
[[ -f $MICHISHIGESAYUMI ]] && dirstack=($(cat $MICHISHIGESAYUMI))
function chpwd () {
emulate -L zsh
print $dirstack > $MICHISHIGESAYUMI
}


105 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/21 11:50:46 ]
>>104
さゆみんて、またアンタかい!

つーか、いくら2ちゃんだからとはいえ、
(変数やファイルの) 名前はきちんと責務を明確に表したものにしてほしいですよ。

106 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/21 11:55:50 ]
さゆみんコテやめちゃったの?結構良かったのに。

107 名前:名無しさん@Vim%Chalice [05/02/21 12:05:30 ]
>>104
できました。ありがとうございます。

108 名前:从*・ 。.・) ◆SayuminPM. mailto:sage [05/02/21 16:18:08 ]
pathに空白があるとだめだったので訂正

typeset -r MICHISHIGESAYUMI="$TMP/.sayumin"
[[ -f $MICHISHIGESAYUMI ]] && while read sayu; do dirstack+=$sayu done <$MICHISHIGESAYUMI
function chpwd () {
emulate -L zsh
print -l ${dirstack} > $MICHISHIGESAYUMI
}

うはwwwwwpathにwwwwwwwww改行があるとwwwwwwwwwwwwwwwwだめじゃんwwwwwwwwwwwwwwwwwwwwwwwwwwwwww



109 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/21 17:27:39 ]
パスに使えない文字って、/と\0だけだったかな。

print -Nでヌル文字区切りに出来るようだ。
読む方はちと調べが付かぬ。


110 名前:从*・ 。.・) ◆SayuminPM. mailto:sage [05/02/21 17:48:11 ]
>>109
おおすごい
読む方は
read -d '^@'
又は
read -d ''
かな
ただし^@は直打ち

'\0' みたいな書き方はどうやるんだろう
'' を認識できるって凄い






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

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

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