シェルスクリプト質問スレ (227レス)
1-

36: 2020/12/06(日)02:09 ID:cfA/TiGD(4/7) AAS
1968年か

1968年の投書「goto文は有害」
外部リンク:ja.wikipedia.org
37
(1): 2020/12/06(日)02:11 ID:cfA/TiGD(5/7) AAS
最初のシェルは1971年だから、やっぱりGOTO有害論のあとか
外部リンク:ja.wikipedia.org
38: 2020/12/06(日)02:16 ID:pAeBLops(2/2) AAS
>>37
しかし、「有害論」の影響なのかどうかはわからない。
その後でも、gotoのある言語もない言語もあるわけで。
39: 2020/12/06(日)02:30 ID:cfA/TiGD(6/7) AAS
> Thompson Shell のデザインは、Multics の模倣を意図したものだった。
> プログラムの分岐処理で欠かせない if や goto といった語ですら、別々のコマンドとして実装されていた[1]。

って書いていたから当時はまだgotoあったんだな
改良するにつれてなくしたと
40: 2020/12/06(日)02:33 ID:cfA/TiGD(7/7) AAS
POSIXシェルの前身であるBourne Shellでようやくgotoが消えたっぽい
外部リンク:ja.wikipedia.org
41: 2021/06/06(日)22:12 ID:EGRoOpIk(1) AAS
標準出力の速度を制限したり、通信速度を表示するコマンドってありますか?
42
(1): 2021/06/07(月)02:12 ID:a9qe7L9c(1) AAS
マルチは死ねば良いのに
43: 2021/06/07(月)11:25 ID:vEYRV92+(1) AAS
>>42
ありがとうございましたーーーー!
44: 2021/06/15(火)12:05 ID:WDa66Wnu(1) AAS
標準入力をreadして変数に溜め、望みの時間sleepして標準出力にechoするだけのwhileループじゃん
45
(3): 2021/06/18(金)16:00 ID:bouE9vru(1) AAS
テキスト行の末尾に改行があればそのまま、なければ改行を追加、みたいなフィルタはどう書くのが簡単?

sed -z ...でできるんだけど、実はもっとあっさり!だったりしないかな。
46: 2021/06/18(金)16:13 ID:xODAv2nB(1) AAS
>>45
改行のない行の末尾って何よ。
47: 2021/06/18(金)17:47 ID:bnil1fLC(1) AAS
$ cat sample.txt
(snip)
This line is end of file.[EOF]



$ cat sample.txt
(snip)
This line is end of file.
[EOF]

にしたいってことじゃね?
48: 2021/06/26(土)13:29 ID:3hhiwe6I(1) AAS
cat aaa | awk '1'

これなら、sedよりあっさり?
とは言えないか。
49
(2): 2021/07/03(土)19:05 ID:QPB5ysNZ(1) AAS
行末に改行があろうがなかろうが改行文字(\n)を削除してから
行末文字($)を改行文字(\n)で置き換える(行末に改行文字を追記する)
cat sample.txt | tr --delete '\n' | sed 's/$/\n/'
50: 2021/07/03(土)22:59 ID:EIKNeueg(1) AAS
よくこんな暗号みてぇなもん覚えられんなw
51: 2021/07/03(土)23:33 ID:jCdyWCtw(1) AAS
インタラクティブにシステムコール呼べたら楽かなと思ってbashのヒアストリングをgccに食わせたんだけど
gcc -o ${blob} <<ccode
\#include <...>
...
${fun}(${argv})
ccode
ld:/dev/fd/nn見つからないよ
collect2: ld returned 1

gccがldを非同期実行し、fdが回収された後にもldが動いてるのかと思い
(gcc ... & 1s)のように遅らせてもダメな謎
省14
52
(2): 2021/07/04(日)18:31 ID:kHg5RL8R(1) AAS
単にgccが標準入力をソースコード扱いしたりはしないってだけでは
/usr/lib/gcc/中略/cc1なら標準入力を取るけどこのパスの特定は面倒だし、素直に中間ファイル作ったほうが良さげでは
perlとかpythonで済むならそっちでも
53
(1): 2021/07/05(月)04:04 ID:mQ20rymu(1) AAS
>>52
ファイル作ると監視システムに見つかるから、
それを避けたいって話じゃないの?
54
(1): 2021/07/05(月)19:18 ID:Pk2boC0r(1) AAS
>>49
「行末に改行があろうがなかろうが」
すまん意味がわからん。
テキストファイルはCRLFかLFの改行コードを入れて
初めて行末になるもんだと思ってたが、
それ以外の行末もあんの?
55: 2021/07/05(月)19:33 ID:AjlMGFnC(1/2) AAS
>>54
ファイル終端
56
(1): 2021/07/05(月)19:43 ID:DgsJIMGq(1) AAS
ファイル末尾と言いたかったんじゃないの。
>>45はバグった仕様書を書くとタイプ。>>49は腐った仕様書に疑いを挟まずコーディングするタイプ。
57: 2021/07/05(月)20:37 ID:AjlMGFnC(2/2) AAS
>>56は理解力がゼロなタイプ。w
58: 2021/07/07(水)16:25 ID:ITjV3pwU(1) AAS
>>52
返信遅くなってごめん

進捗
プロトタイプはマクロだらけの生ヘッダよりman 2/3から抽出してテキストに纏めると楽にできた
手間は掛かったけどシェルから色々実験できて楽しい、見返りはあった
特定の変数に入れて返されるエラーコードはハードコードして拾うしか無さそうだけど、そこまではいいかな…

フロントエンドのgccでなく直接cc等呼ぶのも試してみる、ありがとう
59: 2021/07/07(水)16:38 ID:L74nIjWf(1) AAS
>>53
個人PC上での個人的な便利ツールなのでそこまで考えてないです
たまにrm失敗するので何らかのデーモンが見に来てるとは思いますが、呼ぶたびに前回のtmpをsuffixで識別&一掃してます…
60: 2021/07/21(水)12:49 ID:pz8Jt368(1/2) AAS
あるフォルダが存在するか否かによって分岐させたく

if [ -d ./$DIR]; then
hogehoge

という形でスクリプトを書いているのですが
現状~/shell_scriptにパスを通してここにそのスクリプトを置いて実行しているので~/shell_scriptに$DIRが存在するかで判定されてしまいます

これをなんとか実行するディレクトリでフォルダの有無を確認するようにしたいのですが何かいい方法はないでしょうか
61: 2021/07/21(水)13:01 ID:rGKkhVvF(1) AAS
./$DIRで既にカレントディレクトリからの相対のはずなので、どこかでcdしていなければ
スクリプトの置き場所が影響するなんてないはずだけど
わざわざ ~/shell_script に移動してから実行とかしてない?
62: 2021/07/21(水)13:07 ID:pz8Jt368(2/2) AAS
即レスありがとうございます
純粋にフォルダの指定方法が間違っていただけでした
ありがとうございます
63: 2021/07/29(木)16:33 ID:wWzOvGhA(1) AAS
環境変数指定のコマンドラインについて質問。

ENV=VALUE cmdline1
ENV=VALUE cmdline2

これをまとめたくて、次のようにするとエラー。

ENV=VALUE ( cmdline1 ; cmdline2 )

しかたがないので、次のようにしてます。
省3
64
(1): 2021/07/30(金)03:08 ID:Ju9d/5Jx(1) AAS
( ENV=VALUE; cmdline1; cmdline2 )
65: 2021/07/30(金)11:42 ID:nK/W8CHf(1) AAS
>>64
たしかに。w
そう書いたときもあったのに、なぜかなんか別物あつかいでした。
ありがとう。
66
(4): 2021/08/01(日)13:30 ID:yremFR/t(1) AAS
#!/bin/sh -xってやると評価結果とかが色々表示されるけど、
スクリプトの中で別のスクリプト呼んでるような時に
その呼ばれたスクリプトも含めて色々表示させる方法ってありますか

そのスクリプトにいちいち-x付けてると面倒だし消し忘れとかもあるかなと

/bin/shを、/bin/sh -xして動かすようなものにしてみたけど
全てのシェルスクリプトの動作が変わり、OSがおかしくなって後悔した
67: 2021/08/02(月)04:10 ID:4HLiG8xo(1) AAS
簡単な方法は思いつかないけど…

MY_DEBUG みたいな適当な環境変数でも使って、呼ばれるスクリプトの冒頭で

if [[ -n MY_DEBUG ]]; then set -x; fi

みたいにするとか。
68: 2021/08/02(月)04:32 ID:FScFnmXW(1/2) AAS
なんでそんなにデバッグコードを仕込みたくないのか分からんが、どうしてもと言うなら
sed -f inject_debug_cmd.sed production_code.sh | sh -s

ファイル全部-xデバッグはちょっとアウトプット多すぎて辛いと思うけど
変な動きしてるブロックを囲んで、単語分割が予想通りかくらいしか確かめるくらい
まあそこが一番のハマりどころだから重宝するが
69: 2021/08/02(月)04:41 ID:FScFnmXW(2/2) AAS
最終的に残らなければいいだけなら、デバッグコードの行末にでも#dbgみたいなタグ付けといて、edでインプレースに消せばいいと思うけど
ソースツリー全体のシバンを消し忘れたくないだけならfind -name \*.shとかで列挙してデストロイ
70: 2021/08/02(月)21:04 ID:G1slmfmk(1) AAS
>>66
> /bin/shを、/bin/sh -xして動かすようなものにしてみたけど

そういう方向なら、もうちょっと凝って、呼び出し側のパスや特定の環境変数を見て切り替わるようにすればいいんでは。
無差別にやるから、init.rcとかで壊れるんやろ。
71
(1): 2021/08/03(火)17:17 ID:D5seBhyr(1) AAS
Bashのsourceコマンドについて確認。

source内では、その呼び出し側で設定していたset -eとか-uは無効?

source対象は、呼び出し側で実行されるんだから、それ以前のsetオプションは有効のままだと思ってたけど、実際にはそうではなかったみたいなので。
72: 2021/08/04(水)01:07 ID:WvUJWj2l(1) AAS
確認( ー`дー´)キリッ

ソース読めよsourceだろ?
73: 2021/08/04(水)18:00 ID:+0tgCecS(1/5) AAS
>>71
自分でテストしろ
74
(2): 2021/08/04(水)18:07 ID:+0tgCecS(2/5) AAS
>>66
仮にシェルスクリプトの中でzcatコマンド使っているとして
そのzcatコマンドがシェルスクリプトだったらどうすんの?
zcatコマンドもデバッグログ出ても問題ないんか?
75
(1): 2021/08/04(水)18:12 ID:MbNyhIMz(1/3) AAS
>>74
> 後悔した

と書かれてあるだろう。
76
(1): 2021/08/04(水)18:13 ID:+0tgCecS(3/5) AAS
>>75
後悔したあとに
何をしたいと言ってるのか
よく考えてみよう
77
(1): 2021/08/04(水)18:25 ID:MbNyhIMz(2/3) AAS
>>76
○○なのか。後悔しない別の方法を探しているのだろう。
78: 2021/08/04(水)18:55 ID:+0tgCecS(4/5) AAS
だから後悔しない別の方法を探してるやつに
教えてやってんだろ
79: 2021/08/04(水)20:28 ID:MbNyhIMz(3/3) AAS
>>77
後悔しない別の方法がこれか。

> デバッグログ出ても問題ないんか?

数時間前の自身の発言すら記憶にないわけか。本物だな。
80
(1): 2021/08/04(水)21:50 ID:+0tgCecS(5/5) AAS
ヤバイwこいつマジで日本語わかってないw

ワクチン打ちたくないって言ってる人に
コロナで死んでも問題ないんか?って言ったら

コロナで死ぬこと=後悔しないことだと思っちゃう人か
81
(1): 2021/08/05(木)01:52 ID:wTkH8tWI(1/2) AAS
>>80
アホくさ。さらしage

>>66 (質問者)
> /bin/shを、/bin/sh -xして動かすようなものにしてみたけど
> 全てのシェルスクリプトの動作が変わり、OSがおかしくなって後悔した

>>74 (オマエ)
> 仮にシェルスクリプトの中でzcatコマンド使っているとして
> そのzcatコマンドがシェルスクリプトだったらどうすんの?
> zcatコマンドもデバッグログ出ても問題ないんか?
82
(1): 2021/08/05(木)10:14 ID:ArLNvaBB(1) AAS
>>81
そこは質問じゃねーだろ
アホなのはお前だよ

>>66(質問者)
> #!/bin/sh -xってやると評価結果とかが色々表示されるけど、
> スクリプトの中で別のスクリプト呼んでるような時に
> その呼ばれたスクリプトも含めて色々表示させる方法ってありますか

↓こっちは質問じゃなくて経緯
> /bin/shを、/bin/sh -xして動かすようなものにしてみたけど
> 全てのシェルスクリプトの動作が変わり、OSがおかしくなって後悔した
省5
83: 2021/08/05(木)18:22 ID:wTkH8tWI(2/2) AAS
>>82
何が、そこは質問じゃねーだよ。
つまり、質問を全文読まなかったため、質問者の後悔した事とほぼ同内容のレスを、当の質問者に返してしまったというオチか。
なんだか言い訳すればするほど語るに落ちるやつだな。
84: 2021/08/05(木)18:41 ID:amyLRgLX(1) AAS
語るに落ちるって、、
85
(1): 2021/08/06(金)04:06 ID:01/4SE7K(1/2) AAS
ああ、「質問者の後悔した事とほぼ同内容のレス」だと思ってんのか
これこそ語るに落ちるだな
86: 2021/08/06(金)04:11 ID:01/4SE7K(2/2) AAS
質問者は/bin/shを/bin/sh -x に変えたからだめだと思ってんだよ
だから「後悔した後に」特定のスクリプト以下なら大丈夫だろうと思って質問してるんだろ
だからそれじゃだめだよってzcatの実例を出してるんだろ

まったく本当に理解力がないやつだな
87
(1): 2021/08/06(金)06:11 ID:JRdsxYSZ(1) AAS
そこまで大規模な調査をするのなら、神ツール・strace でも使えば?

バグの場所を突き止めることは、同じ
88
(2): 2021/08/06(金)18:35 ID:8QWMGd91(1) AAS
>>85
どんどん落ちるね。

> 全てのシェルスクリプトの動作が変わり、OSがおかしくなって後悔した

と、想定外のスクリプトへの影響を悔いているところに、想定外のzcatスクリプトもありまっせなんてのは言わずもがな。
質問者の後悔を再提示しているだけだよ。お前の中では懸隔しているとしてもね。
89
(1): 2021/08/07(土)01:18 ID:eQXGjGlL(1/3) AAS
>>88

この2行も読めないの?

> だから「後悔した後に」特定のスクリプト以下なら大丈夫だろうと思って質問してるんだろ
> だからそれじゃだめだよってzcatの実例を出してるんだろ

質問者が後悔したあとに
またやろうとしてるんだから
再提示するのは当たり前やろw

zcatの問題に気づいてないんだから
90: 2021/08/07(土)06:40 ID:bukJwykK(1) AAS
>>89
また落ちた。それはお前の空想。
質問者は
> またやろうとして
いない。「色々表示させる方法」を尋ねている。表示させる方法イコールsh -xはお前の短絡思考。

まぁ想定外スクリプトも、質問者は言及済みであり、余人には言うまでもない当然の事でバカバカしい限りだが、お前の中では蒸し返す必要のある重要事だったんだろう。
無用の親切だが、親切であるのは悪いことではない。
91: 2021/08/07(土)08:36 ID:eQXGjGlL(2/3) AAS
> 表示させる方法イコールsh -xはお前の短絡思考。

表示させる方法イコールsh -xなんて
一言も書いてないんだが

それこそお前の短絡思考じゃんw
92: 2021/08/07(土)08:37 ID:eQXGjGlL(3/3) AAS
> まぁ想定外スクリプトも、質問者は言及済みであり

どこにも言及されてない
93
(1): 2021/08/08(日)16:34 ID:uaAZpGm/(1) AAS
set -x
export SHELLOPTS
じゃだめなん?
94: 2022/02/01(火)04:05 ID:3LA5ehtE(1) AAS
WLANのデバイス名を環境変数に入れたいんだけど、どうすればいい?
95: 2022/02/01(火)13:11 ID:Jt/r8+cT(1) AAS
WLANのデバイス名の取得の仕方か
知らんな
96: 2022/02/03(木)13:41 ID:UJnTdaDv(1) AAS
ifconfigかiwconfigの出力をawkで加工して環境変数にセット
97
(1): 2022/02/22(火)19:14 ID:rLLu1q4J(1) AAS
yumで、パッケージ内の特定ファイルだけをインストールする方法はある?

パッケージファイルをダウンロードしてからrpmコマンドで特定ファイルを抽出したらいいんだけど、もっとあっさりしたやりかたはないんかなー、と。
98: 2022/02/23(水)02:31 ID:kQJL8BkX(1/2) AAS
そんな機能需要あるんか?
99: 2022/02/23(水)13:13 ID:C0MAsSUq(1/2) AAS
パッケージにもいろいろあるからな。
スクリプトつめあわせみたいなのから、いくつかだけ選ぶことはあってもよさそう。
100: 2022/02/23(水)15:08 ID:kQJL8BkX(2/2) AAS
ディスク容量の節約でもしたいってこと?
それならalpineとか使うべきだろう
101
(1): 2022/02/23(水)16:06 ID:C0MAsSUq(2/2) AAS
おまえはそうしたいならそうしろ。
需要の有無ならある、て話。
102: 2022/02/24(木)04:29 ID:zujeXimD(1) AAS
なんのためにそうしたいのか聞いただけでこの反応w
やることが目的になってんのな
103: 2022/02/24(木)05:06 ID:36R3x1i1(1) AAS
なにがどうシェルスクリプトに関連するのか全然わからん
104
(1): 2023/04/29(土)15:20 ID:lnHHFRE1(1/2) AAS
<main>
<sub_aaa id=A>
<sub_bbb>
</sub_bbb>
</sub_aaa>
<sub_aaa id=B>
<sub_ccc>
</sub_ccc>
</sub_aaa>
</main>
省9
105: 2023/04/29(土)19:13 ID:lnHHFRE1(2/2) AAS
すみません
スペースで埋めたところがスペース1個文しかインデントできてなくて見にくくてすみません。
106: 2023/04/30(日)10:10 ID:aW8IbgMG(1) AAS
シェルスクリプトって文字列を""で囲まなくてもいいんですか?
107
(1): 2023/05/01(月)10:46 ID:+eCh8O00(1) AAS
>>104

cat ab.xml | sed -n '/<sub_aaa/,/<\/sub_aaa/'p | awk -F[=\>] '/<sub_aaa/{OUT=$2}{print $0 >> OUT".xml"}'
108: 2023/05/03(水)09:13 ID:jDZJyj+d(1) AAS
>>107
ありがとうございます
109
(1): 2023/08/03(木)22:45 ID:NDiGHoK1(1) AAS
シェルスクリプトで教えてください

ファイル中の文字について、以下のような置換をしたいです
前 後
a →X
b →U
c →E
d →P
:::
y →A
z →M
省4
110: 2023/08/08(火)20:00 ID:A0ngI8KS(1) AAS
trコマンドが良いよ
111: 2023/08/08(火)22:07 ID:W7teOVBr(1) AAS
>>109
cat filename | tr [a-z] [XUEP〜AM]
というのはどうだろう
112
(1): 2023/09/21(木)10:24 ID:QknJaCcR(1) AAS
mvを常にmv -iで実行するようにしたいのですがどうすればいいですか
113
(1): 2023/09/21(木)18:47 ID:Vez6r55J(1) AAS
>112
"常に"がどういう意味かによる
ターミナルから自分の手でmvするとき常になのか、自分のユーザー名でmvするとき常になのか、全てのユーザーがmvするとき常になのか
たぶん下記のようにすればいいんだろうけどなにか副作用があるかもしれない

$ cat ~/.bashrc
mv() { command -p mv -i "$@"; } #or mv() { /usr/bin/mv -i "$@"; }

$ cat ~/bin/mv
#!/bin/sh
/usr/bin/mv -i "$@"

$ cat /usr/local/bin/mv
省2
114: 2023/09/22(金)17:12 ID:Ot0FYrO8(1) AAS
ありがとうございます
なるほど、あまり影響が大きいのは怖いですね、一番上がよさそうですね
強制的にリネームするときはmv -fとやるという運用を考えています
115
(2): 2024/01/01(月)04:07 ID:U28b5u0i(1) AAS
コマンドラインより与えられ、$1や$2等に入れられたオプションを
以下のように表示したいと思ってます

./aaa.sh a bb ccc
$1=a
$2=bb
$3=ccc

以下のようなスクリプトで「$n=」まではできたのですが、その後のxxxxにあたる、
位置パラメータを示す$と、変数iを組み合わせてできた「$1」を
更に評価した結果である「a」や「bb」を得る方法が分かりません

#!/bin/bash
省4
116: 2024/01/01(月)21:58 ID:d2imTNCC(1) AAS
>115
やりたいことを実現するだけなら、難しく考えずに最初の引数を表示したらshiftすればいいと思う

for i in $(seq 1 $#)
do
    echo "\$$((i))=\"${1}\""
    shift
done
117: 2024/01/31(水)20:12 ID:E0KTKxgk(1/2) AAS
引数が無限みたいな前提の書き方はやめた方がいい
118: 2024/01/31(水)20:15 ID:E0KTKxgk(2/2) AAS
>>115
オプションの概念がないのか?
引数の順番だけで判断すると、複雑なものになって想定外の使われ方、使い方をしてしまう
119: sage 2024/02/01(木)04:56 ID:Qr69cuyL(1) AAS
#/bin/sh
for i in `seq 1 $#`; do
eval echo \\\$$i=\$${i}
done
120: 2024/02/23(金)20:08 ID:rMPWJsz1(1) AAS
ラズパイOSの起動時にシェルが自動で動くよう試しています
打ち込みでシェルの内容が動くことは確認できるのですが、cronやsystemd では、思うように動きません。シェルの内容がおかしいのでしょうか

#!/bin/sh
cd /home/dtt/google-home-player/
nohup lt -s modulenotfound -p 3000 >/dev/null 2>&1 &
nohup /usr/local/bin/node server_for_line.js >/dev/null 2>&1 &
121
(1): 2024/02/24(土)23:29 ID:gz5QbA2v(1) AAS
nohupコマンドを使っているが、フォアグラウンドとバックグラウンドもわかってないのかな?
122: 2024/02/25(日)21:48 ID:yfGJdlYS(1) AAS
>>121
hpのコピペなんで。systemdとforeverで分けて
123: 2024/08/06(火)16:07 ID:JwPN4FQ1(1) AAS
最初サイドブレーキかけたまま走って
立ちまくってるぞwこれだからハメカスはw
124: 2024/08/06(火)16:14 ID:pUn/StVI(1) AAS
パチンコ行ってヒョンジェズと全体ラス1でも代表でエースなんだから
スノのTVerは一瞬芸だからな
ボウモア好きで飲んでないのに
画像リンク[jpg]:i.imgur.com
125: 2024/08/06(火)16:25 ID:NFtF5G9J(1) AAS
今の女が男趣味やる→女コミュニティに男が入る
タレントだから何暴露されて使い道ない
どこかいりませんかね?
登録する人は特に金銭的ダメージ
126: 2024/08/06(火)16:30 ID:NRHeZN4d(1) AAS
そこは寧ろ省けるサイトも見たよ
127: 2024/08/06(火)16:51 ID:39fWi6I0(1) AAS
野菜と肉魚を食ったら
健康損ないそうなんだ
今日はネイサンで煽るのか?
128: 2024/08/06(火)16:57 ID:OSEhO4XF(1) AAS
胸鎖乳突筋
129: 2024/08/06(火)17:06 ID:iA+4TyXa(1) AAS
>>12
もうしにたいがいの人間ではないし
130: 2024/08/06(火)17:09 ID:bUDewaE2(1) AAS
JKじゃないけどごくちゅう!が大オチやったんやで
なんか緊張するみたいなやつが
画像リンク[jpg]:i.imgur.com
画像リンク[jpeg]:i.imgur.com
131
(1): 2024/08/06(火)17:38 ID:cIP3beLi(1) AAS
まあそういうのなんでもジャンプ大会やってないのに時代が下ってくるに従って
ヤバいからな
132: 2024/08/06(火)17:52 ID:web9xKM7(1/2) AAS
いろんなパパと行けば二刀流挑戦できるぞ
トレードバグだけなくした
画像リンク[jpeg]:i.imgur.com
133: 2024/08/06(火)17:54 ID:d3pAl2P1(1) AAS
ベジフェイント。
実際大事
134: 2024/08/06(火)17:56 ID:5owQSn+T(1) AAS
やつ
おりゅ
135: 2024/08/06(火)18:17 ID:j7i1GTew(1) AAS
評価もなにもなんかあつい
1-
あと 92 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.037s