シェルスクリプト総合 その37

■ このスレッドは過去ログ倉庫に格納されています
2021/10/05(火) 22:49:30.91ID:KsbWuyFp
シェルスクリプトに関する総合スレッドです。

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
・「POSIX原理主義」「ユニケージ」「USP研究所」はPOSIXとUnixを曲解し
間違ったシェルスクリプトを広めている宗教です。洗脳されないようにしてください。

前スレ: シェルスクリプト総合 その36
https://mevius.5ch.net/test/read.cgi/tech/1614212414/

関連スレ
・【Bash】Windows Subsystem for Linux【WSL】11
https://mao.5ch.net/test/read.cgi/linux/1627507889/
・Bashでプログラミング [転載禁止](c)2ch.net
https://mao.5ch.net/test/read.cgi/linux/1443885102/
・シェルスクリプト総合 その28
https://mevius.5ch.net/test/read.cgi/unix/1533154936/
・zsh その7
https://mevius.5ch.net/test/read.cgi/unix/1337844883/
・過去UNIXで使われていた ksh というシェルについて
https://mevius.5ch.net/test/read.cgi/unix/1582358403/
・【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
・おまえら! shell は何を使っているんですか?
https://mevius.5ch.net/test/read.cgi/unix/1012330865/
2021/12/31(金) 00:15:48.12ID:K3Q5NoN0
ティム・クックCEOとのランチには5,500円ではなく5,500万円以上必要!

Appleのティム・クックCEOとのランチをする権利のチャリティーオークションが終了しました。
結果は51,500ドル以上(約5,500万円以上)で落札されたそうです。
このオークション、落札者にはティム・クックCEOとランチができる権利とAppleイベントの
基調講演に参加できるVIPパス2枚がついてきます。
2013年は約6,200万円、2014年は約3,300万円、2015年は約2,400万円で落札されていました。
今回は約5,500万円なので高値で落札されていますね。
しかしお高いランチ代。いったい誰が落札したんでしょうか。
2021/12/31(金) 00:16:13.59ID:tL7Nlh3I
>>475
俺だよ
2021/12/31(金) 00:56:01.88ID:QVDmbS0E
>>471
installについてだけ突っ込んでるけど、
文書の本質は、inodeか変わる場合は、という意味で話してるのは理解してるか?

mvで上書きするとinode変わると信じてるけど、
installつかったすべての状況で、inode変わるかまでは分からないから、
installを例に挙げたのが悪かったのは認める。
2021/12/31(金) 01:01:12.81ID:tL7Nlh3I
だーかーらーinstall使っても
inodeは変わらないって言ってんだろ
信じてるとかじゃなくて、ちゃんと調べろ
2021/12/31(金) 01:17:16.41ID:QVDmbS0E
>>478
本質でないinstallについてだけツッコミたいということは理解した
2021/12/31(金) 01:19:12.98ID:tL7Nlh3I
>>479
これのどこにinstall以外の本質の話が書いてあるんだアホか?

441 名前:デフォルトの名無しさん[sage] 投稿日:2021/12/30(木) 02:02:44.37 ID:bPzpLvLZ [1/2]
>>425
installコマンドを使わないバカが多いからなあ
2021/12/31(金) 02:12:06.87ID:FGQbYFO9
>>469
実行中に別モジュールをロードするんであって、スクリプト自身は構文木にコンパイル済み。
>>444にはほとんど関係のない話。

シェルスクリプトには実行エラーしかないけど、Perlとかは実行前にシンタックスエラーになるのはなぜだと思うの?w
2021/12/31(金) 02:37:27.40ID:JipSLIiO
https://stackoverflow.com/questions/21096478/overwrite-executing-bash-script-files

The { forces the shell to read at least through the matching } in order to properly parse the command, and the exit then makes sure it'll never try to execute anything that gets added after that }.

BTW, I was testing this with bash version 3.2.48(1)-release (on OS X 10.8.5); other versions may behave differently...

UPDATE: Other versions do indeed behave differently. I tried the same test with version 4.3.0(1)-release (under NetBSD 6.1.4), and it continued to run the old code after the file's contents had been replaced. Apparently it now buffers the file in 8KB blocks (see this unix.se answer).
2021/12/31(金) 02:50:56.77ID:JipSLIiO
Under bash 5..0.3(1)-release on linux, it reads in 8KB blocks... but this doesn't prevent the error (in the version without the {}s), because, after the sleep is done, it seeks back to the position in the file just after the sleep! Strange behavior. {}s still protect it, good answer.
2021/12/31(金) 12:57:25.57ID:nXuYiPI/
>>470
非現実的な解決策w
>>444で知ったかぶりして嘘書いちゃったもんだから引けなくなったのかなww
2021/12/31(金) 14:35:36.48ID:fEOKhR13
お前は { ...; exit;} での対策が無効と思ってるのか?
それともそんな面倒なこと徹底できるわけないと思ってるのか?
2021/12/31(金) 15:21:35.07ID:3oIZShwK
>ファイルを全部メモリに読み込んでたらメモリの無駄遣い
メモリの無駄遣いじゃなかったの?
2021/12/31(金) 15:44:50.78ID:tL7Nlh3I
>>484
え?どこが非現実的なんだ?
お前のキーボードでは}が打てないとかそういう話か?

{
お前のコード
exit
}
2021/12/31(金) 15:45:56.85ID:tL7Nlh3I
>>486
メモリの無駄づかいだから
小さな内部形式に変換するんですが?
2021/12/31(金) 15:46:40.16ID:tL7Nlh3I
例えばコメントとかメモリに置いておく必要はないよな
空白もそのままメモリに保持するのはメモリの無駄遣いでしかない
2021/12/31(金) 16:10:52.10ID:x+iSzQey
>>488
何言ってんのw
2021/12/31(金) 16:59:46.95ID:fEOKhR13
bashスクリプトは実行完了するまでスクリプトファイルをcloseしないでしょ

内部形式の変換だが知らんがコピーした分だけ余計メモリに使うから >>488 以降は同意できん
2021/12/31(金) 21:32:31.66ID:tL7Nlh3I
>>490
わからないの?コンパイラの仕組みとか勉強したほうが良いよ。
2021/12/31(金) 21:34:32.21ID:tL7Nlh3I
>>491
> コピーした分だけ余計メモリに使うから
何をコピーするんだよw
まさか起動中はメモリを解放できないとか思ってるのか?
2021/12/31(金) 22:02:04.77ID:FGQbYFO9
>>492
おまえが常識を知るべき。w
2022/01/01(土) 01:34:30.30ID:X6UBQb83
>>494
自分でわからないって言っただろ
わからないなら、自分で勉強するか
わからない所を具体的に聞け
ちゃんと教えてやるぞw
2022/01/01(土) 01:48:54.59ID:X6UBQb83
まあ俺は優しいから教えてやろうw

{ echo '#!/bin/sh'; printf '#%100s\n' {1..1000000}; echo sleep 30; echo end; } > scr.sh

これで100MBぐらいのシェルスクリプトができる
これを実行しても3MBぐらいしかメモリは食わない
内部形式は小さいからだ

これを全部メモリに蓄えておくと100MB以上消費する
最初にパースして内部形式にする方式は
後ろにバイナリとかがついている時ににエラーになるから使えない
497デフォルトの名無しさん
垢版 |
2022/01/01(土) 02:25:58.45ID:4YArnW91
ヤバいww マジもんのアホの子だったwww
2022/01/01(土) 02:34:27.52ID:C+d3qbg4
{ echo '#!/bin/sh'; echo '{'; printf 'printf %s\n' {1..1000000}; echo sleep 30; echo '}'; } > scr.sh

「内部形式は小さいからだ」wwwww
499デフォルトの名無しさん
垢版 |
2022/01/01(土) 02:37:31.29ID:MVIeZ8kP
echo "あけおめ $(TZ=Asia/Tokyo date +%Y)"
2022/01/01(土) 03:08:50.88ID:IS6zNVE1
今回のケースって世代バックアップとかやってたとしても
それを掴んでたバックアップスクリプト自体が上書きされて暴走して余計なファイルまで全消ししたわけだよね
>実行中のスクリプトが存在している状態でスクリプトの上書きによりリリースしてしまった
問題はここだけだと思うんだけど
酷く杜撰な運用に見える
*nix使いってこの程度のITリテラシーしかないんだね
気持ち悪い
2022/01/01(土) 04:56:33.89ID:eqRzM57+
>>500
本気でやったら、金も時間もかなりかかりそうやからなあ。
やらかしでしかないんでいいわけのしようもないんやろけど、そこはあんまり重視してなかったんやろ。
2022/01/01(土) 09:21:39.56ID:xOGFhMUK
>>500
マジでこれな
特殊な事例かと思ったがこのスレ見る限り似たようなレベルのやつが多数
2022/01/01(土) 09:27:14.46ID:xOGFhMUK
>>501
実行中なら中断するか終了を待ってから新しいのをリリースすればいいだけだろ
日次バッチを中断したり終了を待つのに金も時間もかなりかかるのかい?

他にも例えば権限管理をまともにしてれば防げたよね?
2022/01/01(土) 10:19:02.42ID:EsvsX5UV
>>500
バックアップ容量が多いと、書き込み先の書き込み速度以上のスピードはでないから、
複数世代バックアップするにも、ずっーとバックアップというかコピーというかの処理をし続けることになる。
月次フルバックアップ処理中に、次の増分バックアップ処理が始まるのはテープの場合はよくある。

今回は復元不能と言っていることから過去のバックアップも消えてそうでD2Dっぽいけど、
そういう設計なら基本的にスクリプトは止められないから、
止まったときに更新するんじゃなく、
別のスクリプトをリリースして、古いスクリプトを退役させるような方式を選ぶと思う。

毎日すぐに処理が終わるようなスクリプトしか目にしてないエンジニアが、
そんな設計とは知らず、そのまま更新しちゃったとかそんな理由なんじゃないかなあ?
2022/01/01(土) 11:10:41.01ID:eqRzM57+
>>503
そんなのなら本気やないな。w
テラバイトレベルのバックアップをしっかり実装すんのはなかなかやと思うが。
「日次」でいけるかどうかもあやしいやろ。

クリティカルなシステムでもなし、ただ甘く見てた、てところやろうとは思うが。
2022/01/01(土) 11:53:24.53ID:vr0aJE4l
>>505
長時間かかる処理は普通suspend/resumeできるようにするよね?
自作しなくても市販のソフト買ってもいいし

日次で終わるかどうかは障害とは関係ないが
ミラーリングなのに日次で終わらないようなら作りが悪いよ

それにバックアップスクリプトに削除を混ぜるのがそもそも間違い
ジョブの単位や依存関係の管理が杜撰
2022/01/01(土) 12:42:08.01ID:eqRzM57+
スパコンの市販ソフトって、どこで売ってんの?w
2022/01/01(土) 15:00:36.73ID:w7Saqf4k
>>506
世代バックアップするなら旧世代のバックアップを削除すべきだろうし、
スクリプトで作った一時ファイルは、そのスクリプトで消すべきだと思う。

やはりスクリプトの更新方法の不備かと。
2022/01/01(土) 15:06:02.27ID:9R1m0X3m
>>507
OSはLinuxやで
Cray用のソフトも普通に売ってるで
知らんだけやろww
2022/01/01(土) 15:08:39.26ID:9R1m0X3m
>>508
世代バックアップちゃうで
今回の障害を受けて世代バックアップ検討しますて書いとるやろ
2022/01/01(土) 15:51:26.55ID:s/zRpYH/
今までしてなかったのか…
512デフォルトの名無しさん
垢版 |
2022/01/01(土) 16:05:12.10ID:5XWhCSq7
>>472
動的な部分以外で?
2022/01/01(土) 20:11:57.76ID:VJKo4de7
>>475
俺、ティム・クックと0円でランチを一緒にしたことあるぞ。
例の宇宙船にほど近いレストランのカウンター席でメシを食ってたら隣に誰か座ってきた。
その人は電話をしまくってて、落ち着かねー奴だなーと思って顔をよく見たら... !!!
2022/01/01(土) 21:57:57.81ID:eqRzM57+
>>509
> OSはLinuxやで
それはカーネルやろ。

> Cray用のソフトも普通に売ってるで
どこの店でどんなふうに?
いわゆる「市販」とちゃうやろ。
2022/01/01(土) 22:33:56.61ID:OowWZOH4
>>498
それ内部形式じゃないぞ?
100MBのシェルスクリプトのソースコードを生成してるだけ
100MBのシェルスクリプトを実行してもわずかのメモリしか消費しない

内部形式は小さいからだ!


やっぱアホの子はお前の方?w
2022/01/01(土) 23:26:19.57ID:2clFsvDI
>>514
off-the-shelf softwareの日本語訳だよ

そこら辺の電気屋さんとかで買えるという意味の市販とは確かに違うが
市販ソフトって言葉は文脈によってもう少し広い意味になるよ
勉強になった?
2022/01/02(日) 00:17:01.00ID:krHLUjqu
>>516
勝手に文脈をつくんなや。
で、どこで売ってんの?
2022/01/02(日) 02:41:50.85ID:rJLs0hO4
>>517
Linux用でいいのでは?

https://support.hpe.com/hpesc/public/docDisplay?docId=a00109703ja_jp&;docLocale=ja_JP

オペレーティングシステム
HPE Cray Linux Environment

HPE Cray Programming Environment
Intel Parallel Studio XE (およびIntel MPI)
PGI Professional Edition
GNUコンパイラコレクション
Rogue Wave SoftwareのTotalView
AMD AOCC
Vampir
GNUコンパイラ
2022/01/02(日) 02:43:01.97ID:rJLs0hO4
https://www.hpe.com/jp/ja/product-catalog/detail/pip.hpe-cray-operating-system.1012842044.html

HPE Cray OSは、ハイパフォーマンスコンピューティング向けに機能強化された
SUSER Linux Enterprise Server (SLES) をベースとしています。


ふむ。SUSEのパッケージ全部動きそうだけど?
2022/01/02(日) 03:09:01.94ID:zid9yl1I
>>515
計測してから出直してww
2022/01/02(日) 10:42:41.52ID:8JZTRTCW
>>508
処理をどので分割すべきか理解してない典型例
cronのような原始的なのしか使ったことないでしょ
*nix系あるある
2022/01/02(日) 12:46:42.90ID:krHLUjqu
>>519
それで動作保証まですんのはなかなかのチャレンジャーやと思うが。w
そんなことより、どこで売ってんの?
2022/01/02(日) 12:49:12.64ID:krHLUjqu
>>521
石北会計?w

UNIX系あるあるなのは認める。
だが、それでいい。
524デフォルトの名無しさん
垢版 |
2022/01/02(日) 12:53:06.50ID:o9R7ffl7
>>472
LinuxでPerlで実験してみたが同じ問題は出なかったぞ。
$0 のファイルにプログラムを追加書き込みしてもその部分は実行されない。
シェルで同様に$0に追加書き込みしたらその部分は実行された。
2022/01/02(日) 14:36:43.42ID:RXuS28pT
>>524
嘘つきに騙されんなよ
PerlもPHPもRubyもPythonもJavaScriptも問題ない
シェル特有
526デフォルトの名無しさん
垢版 |
2022/01/02(日) 14:56:13.51ID:o9R7ffl7
だよなあ。eval や動的にソース読んで実行する個所以外は問題ないよなあ。
2022/01/02(日) 16:04:09.36ID:rJLs0hO4
>>520
計測した結果を書いてるだろw
見たくないものは見えないってか
2022/01/02(日) 16:05:33.33ID:rJLs0hO4
>>522
だからLinux用アプリを探せよ
それともお前、オーダーメイドはどこで市販されてるの?って聞いてるのか?
2022/01/02(日) 17:18:56.44ID:uxcqsBQo
>>527
嘘つくなよ
ファイルサイズすら計測してないじゃん
内部形式プッw
530デフォルトの名無しさん
垢版 |
2022/01/02(日) 17:21:21.53ID:TQn3/Mee
inodeを同じにして実験してみろ。
2022/01/02(日) 18:18:29.48ID:krHLUjqu
>>528
>>506

ちなみに、ワイかてLinux用ソフトウェアを「購入」したことはあるが、「市販」やなかった。
試用版を借りてから代理店経由やったかな。

「市販」ていうからには、コンシューマ用アプリとしてどっかで売ってるんやろうから、どこでやと聞いとるんや。
2022/01/02(日) 18:23:43.20ID:krHLUjqu
>>526
evalも、ふつうは問題ないな。
ブロックなら解析済みやし、文字列でも内部でリテラル化済みやし。

Perlで唯一可能性があるとしたら、BEGINブロックか?
2022/01/02(日) 18:38:07.35ID:9WH/m7VC
市販とは、必ずしも店頭売りとは限らんぞ?
534デフォルトの名無しさん
垢版 |
2022/01/02(日) 18:46:21.78ID:TQn3/Mee
通販か、楽天か。
2022/01/02(日) 20:57:18.99ID:krHLUjqu
>>533
それでもええから、どこや?
2022/01/02(日) 21:30:44.40ID:pRhI5t2q
>>531
サチコ、それ代理店経由で市販ソフトを購入した言うんやで・・・
537デフォルトの名無しさん
垢版 |
2022/01/02(日) 21:51:30.45ID:TQn3/Mee
GPGPU対応ソフトウェアはMacが一番多いそうだけどね。
意外だよね。
538デフォルトの名無しさん
垢版 |
2022/01/02(日) 23:40:10.01ID:TQn3/Mee
https://www.j-focus.or.jp/focus/application.html
市販ソフトは普通にあるみたいだよ。
2022/01/02(日) 23:57:26.17ID:GoZUBNyV
>>529
ファイルサイズはlsでわかるし
メモリサイズはpsでわかる
やり直し
540デフォルトの名無しさん
垢版 |
2022/01/03(月) 00:01:22.65ID:3eYYTX8d
ノード数で値段が変わるソフトはスパコンを念頭に置いてるんだな。
541デフォルトの名無しさん
垢版 |
2022/01/03(月) 02:53:21.64ID:NkK7sfLH
>>532
ファイルやソケットや標準入力から読んで作った文字列を eval に渡すなんてのがあったらダメかも知れないが、
これはもうプログラムの作りが悪いと言えるな。SQLインジェクションと同じだし。

require でソース読むやつは事前にチェックされてないのではないかな?
use でのモジュール読み込みはコンパイルされるが。
2022/01/03(月) 03:07:40.68ID:bmMFL9ij
パール爺さんウザイ
2022/01/03(月) 03:10:09.55ID:NkK7sfLH
すまんのう。
2022/01/03(月) 03:20:04.46ID:AIc8F3zq
フルーツパーラー
2022/01/03(月) 04:04:45.94ID:mfU61qLK
パーラーリラパラリラ
2022/01/03(月) 04:04:54.39ID:cOflznJy
正直、何となくまずいとは感じる程度のものだったけど解像度が上がって良かったと思ってる
単純なファイル操作だけど対象が巨大で時間がかかるってのは中々お目にかからない
2022/01/03(月) 09:44:56.65ID:8bAzmZsa
>>539
もしかして>>496>>498の違いがわからないの?
2022/01/03(月) 10:01:01.93ID:mfU61qLK
わかるなら説明しろ。そうやって回答から逃げる手だってバレバレだ。
2022/01/03(月) 12:52:48.32ID:AKaSmxyk
>>541
> require でソース読むやつは事前にチェックされてないのではないかな?

だからなに?
自分で書いてるやん。w

> これはもうプログラムの作りが悪いと言えるな。SQLインジェクションと同じだし。

ただし、実行時でなくロード時に読みきることは変わらないので、結局、シェルスクリプトほどのリスクはない。
2022/01/03(月) 16:05:02.85ID:Tvis+k5K
>メモリサイズはpsでわかる
そんな装備で大丈夫か?
2022/01/03(月) 19:01:29.66ID:mfU61qLK
シェルスクリプトのリスクは高い
なぜなら普通やるだろ?
起動中にプログラム書き換え
な?
2022/01/03(月) 23:36:43.52ID:Izj8gspx
やんないよw
頭おかしいやろ
2022/01/03(月) 23:42:21.51ID:Sz4S1PaG
結局シェルスクリプトが原因じゃなく
シェルスクリプト使いの低スキルが原因だった
2022/01/04(火) 00:46:56.04ID:GepGyN7D
自己書き換えシェルスクリプトは、昔に見た記憶があるな。
動作がちゃんとわかってれば、有用な機能として使えるんだろ。
2022/01/04(火) 04:39:07.32ID:mpSUdZEa
例えばWindowsのログオンスクリプトとかに使われるバッチファイルもアトミックな更新が必要になるね
そういう場合はログインする可能性のない夜間とかを狙って更新したりする
スパコンのアホは、よりによってバックアップ中にバックアップのスクリプトを更新しようとした
上の例で言えば一番ログインが試行される始業時間帯とかを狙ってわざわざ更新するようなもの
どれだけ愚かな行為か想像できよう
2022/01/04(火) 05:34:07.92ID:A3JfSOSv
OSやファイルシステムによっては出来ないかも知れないが、プログラム動作中に新バージョンへの入れ替えを
行っても動作しているプロセスはそのまま動かし続けて影響させず、次回起動時から新しい方が動く方式にして
おけば良かった。例えば Linux や UNIX 系 OS ならシンボリックリンクの指す先を変えることでこれは可能だ。
Windowsではどうやるか知らないがシンボリックリンクはあるようなので多分出来るんじゃないだろうか。
2022/01/04(火) 06:04:36.10ID:mpSUdZEa
>>556
Windowsだとリンクを一旦削除してから張り直す事になるから無理だろうね
リンク先が一旦消えるから、掴んでたバッチファイルは読み込みが途切れるか、
そもそも誰かが掴んでる状態ではリンクの削除に失敗するかどっちか
2022/01/04(火) 09:11:02.07ID:KoJ0HNB1
OSとしてはプログラムを実行中に入れ替え可能だとしても
アプリがそのように作られてない可能性はなくならない
2022/01/04(火) 11:24:49.85ID:K01QBlyF
実行中に上書き更新しないのは当たり前

undefinedになった場合でも全データを削除しないように作るのも当たり前

どちらも当たり前だと思ってないやつが多数いるのがシェルスクリプト特有の問題
2022/01/04(火) 11:53:26.50ID:+L/8HzOo
「全スクリプトを{ ...; exit; }で囲え」なんていうキチ・・・エッジな人もいる
2022/01/04(火) 14:35:05.73ID:5xHtBJHw
コマンドプロンプトとかいうゴミみたいなシェルは実行中にメモ帳から普通に上書き保存できるしbashみたいな更新問題がある

構文解析が闇鍋状態だからまともに(...&exit)でガードする気も起きん
2022/01/04(火) 14:40:41.27ID:5xHtBJHw
全スクリプトを{ ...;exit;}というとヤバいように見えるけど

... #オプション解析とか
main(){ ...;}
{ main "$@"; exit;}

とでもすれば多くの更新事故は防げると思う
2022/01/04(火) 14:56:49.79ID:/LDsiUgA
>>562
関数を使わない主義に属してるので
そのコードは主義に違反している
2022/01/04(火) 14:57:43.78ID:/LDsiUgA
>>561
> 構文解析が闇鍋状態だから
それはシェルスクリプトを勉強しろっていいたいねw
2022/01/04(火) 14:58:27.64ID:/LDsiUgA
あ、コマンドプロンプトの話か。そっちはしらん
2022/01/04(火) 15:13:42.85ID:MrAZHCc6
>>562
全然防げないよ
無駄なことに時間費やさずに実行中に上書きするのをやめろ
2022/01/04(火) 15:22:08.88ID:/LDsiUgA
防げないことにしたいやつも多いんだよなぁw
2022/01/04(火) 16:48:36.33ID:96ZsKrQo
>>562
mainの中で他のスクリプト呼ぶ場合はどうするの?
先に読み込んでおける?
2022/01/04(火) 17:17:13.38ID:cDPvJZXV
{}でくくった時の読み込み方は実装依存じゃなく仕様で保証されてる?
ここを読んだけどよく分からなかったや
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_02_03
2022/01/04(火) 21:09:09.26ID:64zZ84Fs
>>568
無理
2022/01/04(火) 22:51:36.65ID:GepGyN7D
>>568
sourceすりゃできんじゃないの?
2022/01/04(火) 23:40:25.31ID:AW7Xm3ow
>>571
やってみたら?
2022/01/05(水) 02:14:02.36ID:gXRPzTKb
{} の中にsource入れとけばいいだろ
他のスクリプト言語と一緒
2022/01/05(水) 02:56:20.38ID:5qnDyK1z
いいわけないじゃん
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況