X



シェルスクリプト総合 その28
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
垢版 |
2018/08/02(木) 05:22:16.82
シェルスクリプトの総合スレです。
□お約束
・特記なき場合はBourne Shell(/bin/sh)もしくはPOSIX準拠の互換シェルがデフォルトです。
 bash/zsh/ksh/ash/dash/yash/poshなどの専用機能に依存する場合は明示しましょう。
 Linuxユーザは/bin/shの正体がbashまたはdashなので特に注意。
 FreeBSDユーザは/bin/shの正体がashなので注意。
・POSIXについてのリンクは https://en.wikipedia.org/wiki/POSIX にまとめられています
 最新の仕様はこちらへ http://pubs.opengroup.org/onlinepubs/9699919799/
 (左上の「Shell & Utilities」 から参照することができます。)
・v7 shに一番近くて、現役(?)のshは、OpenSolaris由来のheirloom sh。
  http://src.illumos.org/source/xref/illumos-gate/usr/src/cmd/sh/
  http://heirloom.sourceforge.net/sh.html
・csh/tcshのシェルスクリプトは推奨されません。
 (理由は「csh-whynot」でググれ)
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。
 manや参考リンクを見ましょう。
 aproposないしはman -kでそれらしい単語による簡単な検索もできます。
・シェルで使えるワイルドカード等は正規表現ではありません。
 正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆうな
□初心者へのアドバイス:
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
 awkまたはperlの方が適した処理にはそちらを使いましょう。
・知らないコマンドが出てきたらmanを引きましょう。
・思い通りに動かないときは、まずは sh -x でトレースしましょう。
□回答者への注意事項:
・シェルスクリプトでの処理方法を質問しているのに、よくわからずに
 「そういうのはperl使いましょう」と回答するのはやめましょう。
 安易にperlに逃げずにシェルスクリプトで処理するのが頭のいいやり方。
 質問に対して問題が間違ってるといちゃもんをつけるのもやめましょう
シェルスクリプト総合 その27
https://mevius.5ch.net/test/read.cgi/unix/1525337663/
0028名無しさん@お腹いっぱい。
垢版 |
2018/08/27(月) 15:17:33.08
サーバーのサービスではなく、
ユーザは自分1人だよね。cronも動いているけど。
それなら、ミリ秒単位で処理開始がぶつかることなんて想定しなくてもよいのでは。
人命がかかっているような処理なら別だけど。
0029名無しさん@お腹いっぱい。
垢版 |
2018/08/28(火) 06:51:31.61
>>28
確かにそうですが方法が確立し実装してしまえば
動画を視聴してチェックと言う作業からほぼ解放されるので
もうちょっとやってみます

>>27
実装を試して相談したいことがあった場合検討してみます
0030名無しさん@お腹いっぱい。
垢版 |
2018/08/28(火) 15:13:22.37
ずっと楽をするために今努力して作りこむってのは間違っていない

まあ出来ないと思うときは妥協は必要だが
0031名無しさん@お腹いっぱい。
垢版 |
2018/08/28(火) 15:25:38.94
>>26
ファイルに対応する「ロックファイル」を作って、その存在確認をするのが定石だったみたい
既にロックファイルが存在していたら、別のプロセスがファイルを使っていると見做す
その際ロックファイルの存在確認と作成を「同時」(アトミック)に行うのが大事だそうで

そのファイル、安全にロックできていますか?(アトミックなファイル操作:後編)
https://heartbeats.jp/hbblog/2013/10/atomic03.html

こんな感じかな

lockfile="${outputfile}".lock
if ln -s -- $$ "${lockfile}" 2>/dev/null; then
(
unlock() { rm -- "${lockfile}"; }
trap "unlock" EXIT HUP INT QUIT SEGV TERM

wget -c -O "${outputfile}" "${url}"
) &
fi
0032名無しさん@お腹いっぱい。
垢版 |
2018/08/29(水) 09:19:34.39
$ yotei.py 201808290900
って感じでスクリプトの引数に今日の年月日0900(date +%Y%m%d0900)を入れて実行したいです。
cronで実行したいのですが、date +%Y%m%d0900の出力をyotei.pyの引数に入れるには、1行でどうやって書いたらいいですか?
0034名無しさん@お腹いっぱい。
垢版 |
2018/08/29(水) 09:54:06.25
すぐ思いついたのはシェルスクリプトを1個増やして以下のようにする

export ymd0900=`date +%Y%m%d0900`
yotei.py namae $ymd0900

それをcronから呼ぶ
0036名無しさん@お腹いっぱい。
垢版 |
2018/08/29(水) 10:16:33.10
>>34
>>35
どうもありがとうございます!
ファイルを増やしたくなかったので1行でやりたかったんですが、ウィキペディアのその項目のとおり、エスケープ\を入れる事で1行で出来ました!

yotei.py 名前 $(date +\%Y\%m\%d0900)
0038名無しさん@お腹いっぱい。
垢版 |
2018/08/31(金) 06:31:36.33
EUじゃサマータイムは廃止だっていうのにマジで日本はこれから導入するのか?
趣味でプログラム作ってるだけなのに余計な処理増えるのはホント困る…。
0039名無しさん@お腹いっぱい。
垢版 |
2018/09/09(日) 01:40:34.50
>>22
youtube-dlならニコニコにも対応してるしタイトルとIDそのままで保存できるよ
但しここ数年の動画はDL速度が極端に遅い上に途中で必ず落ちる
[download] 5.6% of 202.83MiB at 98.22KiB/s ETA 33:15[download] Got server HTTP error: Downloaded 12014750 bytes, expected 212678720 bytes. Retrying (attempt 1 of 10)...
ERROR: unable to download video data: HTTP Error 403: Forbidden
永続リトライ設定でもこうなるししmpvでも再生中断するからな
昔のflvなんかは高速だけど年代で仕様が違う辺りエロサイトより酷い
0040名無しさん@お腹いっぱい。
垢版 |
2018/09/09(日) 08:27:37.92
東京オリンピックまでにサマータイム導入
てのはどう考えても物理的に不可能だから
話は立ち消えになるだろうけど、将来、
導入されないとも限らない
ローカルタイムを出力するときは必ず
timezoneを付けておいたほうがいい
0044名無しさん@お腹いっぱい。
垢版 |
2018/09/10(月) 09:38:34.63
>>42
このスレ立てた奴が荒らしに行ってるからな。
あっちの板に嫌がらせで重複スレまで立てるという性格の悪さ。

そういう悪人の立てたこのスレ使ってると、悪人の一味みたいな立ち位置に属することになるぜ。
0048名無しさん@お腹いっぱい。
垢版 |
2018/09/10(月) 21:52:59.04
>>47
前スレで荒らしが出たからIDやワッチョイをつけたかったんだけど、
UNIX板ではつけられなかったから。

で、荒らしはIDつくのが嫌で新スレが立った後からこのスレを立て(>>10-15)、
さらには新スレを荒らしに行ってるってのが現状。
0050名無しさん@お腹いっぱい。
垢版 |
2018/09/11(火) 13:49:11.52
>>49
IDつくと自分が荒らしてることが分かるから嫌だったけど、
向こうのスレについてはスレ自体を敵視しているから、
自分が荒らしてることがバレバレであっても、スレを使いづらくしたい
ってことじゃないかな。
0052名無しさん@お腹いっぱい。
垢版 |
2018/09/11(火) 17:42:07.09
>>51
ム板の本スレは意図的に荒らしてて(だからバレてもOK)、
前スレは天然で荒らしてる面がある(だからバレたくない)
って程度の違いはありそうだね。
0053名無しさん@お腹いっぱい。
垢版 |
2018/09/12(水) 04:28:30.52
>>52
いやいや、単に荒らしは最初から隠すつもりもなく、
バレようがバレまいが関係ないんだよ。

荒らしにとってはは最初から隠してるわけでもないが、
でもこのスレの住民がその荒らしのIDを見たくて移動したんでしょ?
それでんで、見て何がしたかったのか不明だけどなw

IDが出ていれば荒らされないとでも思った?
0057名無しさん@お腹いっぱい。
垢版 |
2018/09/13(木) 04:39:22.11
荒らしをNGIDにして見えなくするため、という説がある

確かにNGIDにすると見えなくなるが、
荒らしの書き込みを止めることはできない

荒らしはどんどん自分の意見を書き込むが
それに対しての反論はできない。
なぜなら荒らしの書き込みが見えないから

荒らしとNGIDに入れてない人とのやり取りでスレは埋まっていく
はたから見れば、話についてこれず時々レスするが
荒らしに論破され何も言い返せない構図のできあがり
それ全体の荒らしの濃度が高まる

そしてIDは変わるから毎日の登録作業が増える。
忘れるとついレスをしてしまう
0058名無しさん@お腹いっぱい。
垢版 |
2018/09/13(木) 09:15:51.30
というわけで、以下のどっちかの運用にするのがよくあるパターンだな。
・このIDは昔から粘着してる奴だから無視するぜってコメントを時々入れつつ無視する
・奇特な人物がいちいち反論するので、スレにいる他のメンバーは、連鎖アボーン設定して安心してその議論全体を無視する

IDがないとこういう回避ができないから、ひたすら我慢することになる。
0065名無しさん@お腹いっぱい。
垢版 |
2018/09/13(木) 21:16:50.93
つまりIDやIPアドレスを変えてNG避けする意志のある荒らしってことだから、
IPアドレスも表示させるようにして、
IPアドレスの範囲を使ってNG登録するのもやむなしってことだな。

今でも2つのプロバイダーを使い分けて自演してるって
自分でバラしてたから、NG登録する範囲も2通りは必要だと。
0066名無しさん@お腹いっぱい。
垢版 |
2018/09/15(土) 09:20:57.31
特定文字列の除外リストを元に除外処理をしたいんだけど
リストとかあきらめてgrepをフィルタファイルとして別するのが一番楽?
やりたいのは以下のようなことなんだけど
シェルスクリプトなのにプログラミング的なことやって
grepのフィルタを組み立てることに違和感を感じてる(面倒とはっきり言えって?)

echo ${DATA_REC} | grep -e AAA -e BBB -e CCC

if [ $? -eq 0 ]
then
continue
fi

# 継続処理
0067名無しさん@お腹いっぱい。
垢版 |
2018/09/15(土) 09:24:06.05
> grepをフィルタファイルとして別するのが一番楽?

ってのはファイルにgrepのコマンドを書いてreadで読んで
echo ${DATA_REC} ${grep_cmd}
とかにするってことね
grepコマンドが書かれてたら適用
書かれてなかったらスルーって感じ
0068名無しさん@お腹いっぱい。
垢版 |
2018/09/15(土) 09:26:44.49
ああパイプがうまくいかないから若干判定が必要か・・・

pi@melchior /tmp $ export grep_cmd=" | grep -e AA -e BB"
pi@melchior /tmp $ echo AAA $grep_cmd
AAA | grep -e AA -e BB
pi@melchior /tmp $ echo AAA | $grep_cmd
-bash: |: command not found
pi@melchior /tmp $ export grep_cmd=" grep -e AA -e BB"
pi@melchior /tmp $ echo AAA | $grep_cmd
AAA
pi@melchior /tmp $
0071名無しさん@お腹いっぱい。
垢版 |
2018/09/15(土) 12:13:24.53
>>66
> シェルスクリプトなのにプログラミング的なことやって

シェル芸じゃなくてスクリプトなんだから
プログラミングで当たり前だよw
007271
垢版 |
2018/09/15(土) 12:37:34.28
>>67
少し考えてみたが、俺もgrepの-fオプションを利用するのが一番楽だと思うな
ただ昔、除外リストの否定とかやりたかったんで書いたことはあるが
007371
垢版 |
2018/09/15(土) 12:43:55.58
grep -f 使えばいいから不要だが
お手軽に>>66のようなことをするのならこうかな
リストにスペースなどが入っていたらうまくいかんがw
文字列の組み立ての参考として

echo ${DATA_REC} | grep $(printf ' -e %s' $(cat list))
0074名無しさん@お腹いっぱい。
垢版 |
2018/09/22(土) 07:11:59.06
シェルスクリプトじゃなくてシェルの基礎を訊いてアレだけど
bashの$()と``って使い分けた方がいいの?
端末ではバッククォート多用してるけども
0075名無しさん@お腹いっぱい。
垢版 |
2018/09/22(土) 09:23:42.74
``は古い書き方。ネストができないという欠点が有る
bashに限らず、$()を使ったほうが良い。欠点は文字が一文字多くなるだけ
0079名無しさん@お腹いっぱい。
垢版 |
2018/11/09(金) 16:05:12.56
test $(date +%w) -eq 5

今日が金曜日なら5が出るんですが、-eq というのはコマンドなのかtestコマンドのオプションなのか、これは何ですか?
0081名無しさん@お腹いっぱい。
垢版 |
2018/11/09(金) 16:09:52.77
test コマンドのオプションです。

ところで今日は金曜日ですが5は出ませんよね。
戻り値は0となりますが……何か勘違いしている気がします。
0084名無しさん@お腹いっぱい。
垢版 |
2018/11/09(金) 16:32:51.67
毎月第2月曜日と毎月第2週の月曜日とでは、指す日にちってもしかして異なります?

0 17 8-14 * test $(date +%w) -eq 5 && command
こんな風にcronで毎月第2金曜日とか指定したいんですが、

例えば今月の5日で言うと、5日は1回目の月曜日だけど、月の2週目にあるので疑問に思いました。

0 17 8-14 * test $(date +%w) -eq 1 && command
これだと今週の月曜日には実行するされないですよね?
0088名無しさん@お腹いっぱい。
垢版 |
2018/11/10(土) 18:00:25.18
bash(バージョン 4.4.12(1)-release)でスクリプト書いててちょっと謎が

$ a=1; b=2; [[ ${a}<=${b} ]]; echo $?
こうするとちゃんと終了コードの0が返ってきますが

$ a=1; b=2; [[ ${a} <= ${b} ]]; echo $?
比較演算子の前後にスペースを入れると「条件式に構文エラーがあります」「`${b}' 周辺に構文エラーがあります」と怒られます

$ a=1; b=2; [[ ${a} < ${b} ]]; echo $?
比較演算子をleでなくltにするとまた0が返ります

これって何故なんでしょう?
0089名無しさん@お腹いっぱい。
垢版 |
2018/11/10(土) 19:37:33.60
>>88
[[ ... ]] で使える演算子に <= は存在しない

それは数の比較ではなく
[[ "1" < "=2" ]]
という文字列の比較になっている

なので <= の右に空白を置くと
[[ "1" < "=" "2" ]]
となりエラー

条件式
https://linuxjm.osdn.jp/html/GNU_bash/man1/bash.1.html#lbBW
009088
垢版 |
2018/11/10(土) 21:37:24.33
>>89
さっそくありがとうございます
そうか、イコールをつけない不等号で上手く動いてるように見えるのは、文字列として辞書順で比較してるからなんですね
どうやら私の頭の中では、二重丸括弧での算術式展開とゴッチャになってたみたいです
何時間も唸ってたのが一撃でスッキリしました。ありがとうございました
0092名無しさん@お腹いっぱい。
垢版 |
2018/11/10(土) 22:29:10.53
>>91
:
0096名無しさん@お腹いっぱい。
垢版 |
2018/11/15(木) 14:21:20.04
bash の場合。

$ type [
[ is a shell builtin

$ help [
[: [ arg... ]
Evaluate conditional expression.

This is a synonym for the "test" builtin, but the last argument must
be a literal `]', to match the opening `['.
0097名無しさん@お腹いっぱい。
垢版 |
2018/11/21(水) 22:42:24.51
sedで\1を変数名としていっぺんに異なる部分を異なる変数の内容で変換できませんか?

sed -e "s/<\(.*\)>/${\1}/g"
こんなかんじの
0098名無しさん@お腹いっぱい。
垢版 |
2018/11/29(木) 16:58:28.90
#!/bin/bash
# 変数URL, ETAGには既に適切な値が入ってるとする
OPT=('--header' "'If-None-Match: ${ETAG}'")
curl "${OPT[@]}" "${URL}"

こんなスクリプトを書いたけど、curlと鯖のやりとりを覗くと、リクエストヘッダのIf-None-Matchの行にシングルクォーテーションが付いて

'If-None-Match: (ETAGの値)'

と送られてしまう。で、試しにcurlの行を

echo "curl ${OPT[@]} ${URL}" > /tmp/tempfile
. /tmp/tempfile

と書き換えて実行すると、ちゃんと正常に動く。man bashを読んだりbashの引用符の扱われ方をググってみたりしても、何が何だかさっぱり分からない。
どなたか助けてくれませんか。
0099名無しさん@お腹いっぱい。
垢版 |
2018/11/29(木) 18:06:56.14
自己レス
curlだからとか関係ないな。変数にシングルクォートで囲ったものが入ってて、それをダブルクォートで囲った配列展開してるんだから、そのパラメーターはそのままシングルクォートつきになって当然。
しかし、ETAGはダブルクオートを含むしhttpリクエストヘッダはスペースを含むから、全体をシングルクォートで囲まなきゃならんのだよな。
やっぱどのタイミングでどのクォートがどう展開されるのか、一段階ずつ追いかけてみるしかないのかな
0100名無しさん@お腹いっぱい。
垢版 |
2018/11/29(木) 21:56:13.42
なんか混乱しとるなw
まあ、ダブルクォートは、他言語を使っている人からすれば
直感に反する機能だってことに、俺も最近気づいたんだけどな
ただどこがどう違うかを言葉で説明したことがわけじゃない。やってるみるか?

・シェルスクリプトは文字列として展開されて実行されているようでそうではない
・ダブルクォートは文字列を囲う機能ではなく、変数展開の挙動を変えるエスケープの一種
この二つに集約されるかなぁ

> しかし、ETAGはダブルクオートを含むし
これ関係ないんだわ

OPT=('--header' "If-None-Match: ${ETAG}")
だと
OPT=('--header' "If-None-Match: "686897696a7c876b7e"")
こうなってしまい
OPT=('--header'   "If-None-Match: "  686897696a7c876b7e  "")
のように解釈されると思ってしまうが違う。
別に文字列展開されてから、動くわけじゃない

ダブルクォートは「 If-None-Match: ${ETAG} 」の部分を一つの引数として
扱いますよー(ただし中の変数は展開されますよ)という意味。
変数の中にダブルクォートが入っていようが改行が入っていようが関係ない

またダブルクォートはそれだけの機能ではなく $@ が入っている場合に異なる挙動をする
"$@" が入っている場合、一つの引数ではなく複数の引数として扱われる
例えば引数$1〜$5が存在する場合、"$@" は "$1" "$2" "$3" "$4" "$5" と等価
また"foo$@bar" となっていた場合、 "foo$1" "$2" "$3" "$4" "$5bar" と等価
引数が一つなら "foo$1bar" だし、引数がゼロの場合は、書かなかったのと同じとなる("" 空文字にはならない)

このように文字列として囲う機能じゃなくて、中に入ってる文字や変数の解釈の仕方に影響を与える機能
0102名無しさん@お腹いっぱい。
垢版 |
2018/11/30(金) 06:16:21.18
>>100-101
ありがとう。おかげで、サクッと片付きました。素直に

OPT=('--header' "If-None-Match: ${ETAG}")
curl "${OPT[@]}" "${URL}"

で何の問題もなく動作しました。最初にcurlについて調べてたときにETAGを使う例でシングルクォートが使われてたのに、ずっと脳味噌が引っ張られてたようです。
上の行で変数に入れる時点で、スペースを含む一つの文字列として扱われてるんだから、あとはその中身がなんであるかに関係なく、"$[@]"で展開すればいいわけですね。

ありがとうございました。
0103名無しさん@お腹いっぱい。
垢版 |
2018/12/25(火) 18:37:21.02
bashでログ出力処理を一括でやるにはどうすれば良いですか?

powesshellだと、Start-Transcript に対応するコマンドを教えてください
0104名無しさん@お腹いっぱい。
垢版 |
2018/12/26(水) 01:04:21.34
>>103
何がしたいのかよくわからないが
シェルスクリプト内の標準出力と標準エラー出力をファイルに出力するなら
#!/bin/bash
exec >script.log 2>&amp;1
...
0105名無しさん@お腹いっぱい。
垢版 |
2018/12/26(水) 08:34:29.57
>>104
何したいかよくわからんって、
パワーシェルでいうStart-Transcriptをやりたいの
bashで一行ずつリダイレクトつけないとダメとかダサすぎる
0107名無しさん@お腹いっぱい。
垢版 |
2018/12/26(水) 09:08:14.92
PowerShellなんぞ興味が無いから知らんという人が多かろう
標準出力と標準エラー出力をファイルとコンソールの両方に出したいと言えばいい

知ってるがお前の態度が気に入らない(AA略)
0108名無しさん@お腹いっぱい。
垢版 |
2018/12/26(水) 18:22:57.16
生意気だな
0111名無しさん@お腹いっぱい。
垢版 |
2019/01/10(木) 14:22:50.61
やっつけ
$ {
> echo foo
> ECHO bar
> } 2>&1 | tee result.txt
foo
ECHO: コマンドが見つかりません
0112名無しさん@お腹いっぱい。
垢版 |
2019/01/26(土) 23:47:05.51
FreeBSD の /usr/bin/man で、
  if { sizes=$($STTY size 0>&3 2>/dev/null); } 3>&1; then
という記述があるんですが、これって何をしているんでしょう。
・標準エラー出力を捨てている
・3 を 標準入力の指す先 (tty) に設定?
・0 を ↑の3に設定?

3>&1 して 1>&3 なら退避目的かなと思うんですが、これは違うので、
意図がわからないです。

ソースはここです。
https://github.com/freebsd/freebsd/blob/master/usr.bin/man/man.sh#L646
0113名無しさん@お腹いっぱい。
垢版 |
2019/01/28(月) 19:18:42.39
・MANWIDTH=ttyのときはmanの標準出力1の横幅を取得したい。
・sttyの操作対象端末は標準入力0で、出力先は標準出力1。
・a>&b は dup2(b,a) のことで、左を使うと実体は右になる。
・標準エラー出力2は捨てる。
という前提で、
sizes=$($STTY size 0>&1 2>/dev/null) と書くと、
sttyの標準出力1は$()に取られてるから、manの標準出力1とは別物になって、
正しい端末をsttyできない。
{ sizes=$($STTY size 0>&3 2>/dev/null); } 3>&1 は、1が取られ
てるなら3を中継すれば安全じゃねと書いたものと推測される。
{ sizes=$($STTY size 2>/dev/null); } 0>&1 と書けば十分なはず。
0114名無しさん@お腹いっぱい。
垢版 |
2019/01/29(火) 01:14:27.65
findした結果を1行づつ配列に代入したい場合にはどうすればよいでしょうか?
当方が書いたshellだと、検索したい文字列に空白があるケースだと
そこで要素が別れてしまいます。

array=$(find ${HOME}/animal -type d -iname "*検索したい文字列*")
0116112
垢版 |
2019/01/30(水) 08:38:21.70
>>113
ありがとうございます!
リダイレクトにstdin/stdoutの差し替え的な使い方があるとか、sttyはstdinを見るとか、sttyがstdinを見てもstdoutを見てもそれが端末を指しているなら同じこととか、数枚目からうろこが落ちました。

しかしそもそもsttyはデフォルトのstdin見ておけばいいんじゃね、とも思ったり。command |man 的な使い方ってあったっけなぁ。
0117名無しさん@お腹いっぱい。
垢版 |
2019/02/05(火) 14:26:11.34
少々スレ違いですがお許しください

OS 組み込みの tcsh をバージョンアップしたいのですが、
シェルスクリプトの挙動が変わってしまうのが怖くて、なるべく
コンパイル時オプション(configure オプション)を揃えたいのですが

バイナリしかない場合に、コンパイル時オプションを調べる方法ってないですかね?
## 例えば ISC BIND の -V オプションみたいな
0120名無しさん@お腹いっぱい。
垢版 |
2019/07/27(土) 21:39:15.96
ログインシェルでfishを使う時、
https://gist.github.com/mitukiii/4954559
できたらやり方教えてください

$ myCommand
タブキー押すと
$ myCommand
foo -- do foo
bar -- do bar
unk -- do toilet
って候補と1行説明表示されて
$ myCommand f
でタブーキー押すと
$ myCommand foo
と補完される
方法を知りたいです
これできたら重いzshから魚に乗り換えられる
0121名無しさん@お腹いっぱい。
垢版 |
2019/07/30(火) 12:52:38.09
ここはシェルスクリプトのスレです。
シェルの使い方のスレではありません。
スクリプトの話をしてください
0124名無しさん@お腹いっぱい。
垢版 |
2019/08/01(木) 10:04:58.33
yash使てる?
0126名無しさん@お腹いっぱい。
垢版 |
2019/08/01(木) 22:41:59.49
「使てる(つこてる)?」は「使っていますか?」という意味の質問であって、使用可能かどうかを聞いてる訳では無いのでは
■ このスレッドは過去ログ倉庫に格納されています

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