シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その31
https://mevius.5ch.net/test/read.cgi/tech/1565446670/
シェルスクリプト総合 その32
■ このスレッドは過去ログ倉庫に格納されています
2019/10/25(金) 00:08:45.53ID:6btPTvif
2019/10/25(金) 00:09:51.40ID:6btPTvif
・特記なき場合、POSIX準拠シェルが既定です
POSIX準拠シェルとBourneシェルの区別はついていますか?BourneシェルはUNIXで過去広く使われたシェルで
多くの亜種が存在します。Bourneシェルの後継で標準化されたものがPOSIX準拠シェルです
参考 https://unix.stackexchange.com/questions/145522/
POSIX準拠シェルは(d)ash, bash, zsh, (m)ksh, yash, posh, (p)boshです
特定のシェル(特にPOSIX準拠シェルではないfish, (t)csh等)の専用機能に依存する場合は明示しましょう
・デフォルトシェルのシバンはBourneシェル時代からの伝統で#!/bin/shを使用します。ただしその実体はOSによって様々です
Debian,Ubuntu … dash
CentOS … bash
FreeBSD … ash
Solaris,OpenBSD … ksh
macOS … 改変版bash
android … mksh
自覚なきbashism、シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?#!/bin/shを使うならシェル依存は厳禁です
macOSのbashはSingle UNIX Specificationに準拠するために改変されており一部動作が異なるので注意しましょう
・Bourneシェルは既にレガシーです
歴史的資料 https://www.in-ulm.de/~mascheck/
Bourneシェル≒Version 7 UNIXのshに一番近いのはOpenSolaris由来のHeirloom Bourne Shell、次点でSchily Bourne Shellのoboshです
Heirloom Bourne Shell: sh http://heirloom.sourceforge.net/sh.html
Schily Bourne Shell: obosh http://schilytools.sourceforge.net/bosh.html
・POSIXに準拠しましょう
有用なリンクは https://en.wikipedia.org/wiki/POSIX にまとめられています
最新の仕様はこちら http://pubs.opengroup.org/onlinepubs/9699919799/ (左上の「Shell & Utilities」から)
・csh/tcshでのシェルスクリプトは*まったく推奨しません*
参考 http://www.speech-lab.org/~hiroki/csh-whynot.euc
・Linux/UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。Manページや各種リンクを見ましょう
aproposやman -kでそれらしい単語による簡単な検索もできます
・ワイルドカードは正規表現ではありません
正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆうな
POSIX準拠シェルとBourneシェルの区別はついていますか?BourneシェルはUNIXで過去広く使われたシェルで
多くの亜種が存在します。Bourneシェルの後継で標準化されたものがPOSIX準拠シェルです
参考 https://unix.stackexchange.com/questions/145522/
POSIX準拠シェルは(d)ash, bash, zsh, (m)ksh, yash, posh, (p)boshです
特定のシェル(特にPOSIX準拠シェルではないfish, (t)csh等)の専用機能に依存する場合は明示しましょう
・デフォルトシェルのシバンはBourneシェル時代からの伝統で#!/bin/shを使用します。ただしその実体はOSによって様々です
Debian,Ubuntu … dash
CentOS … bash
FreeBSD … ash
Solaris,OpenBSD … ksh
macOS … 改変版bash
android … mksh
自覚なきbashism、シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?#!/bin/shを使うならシェル依存は厳禁です
macOSのbashはSingle UNIX Specificationに準拠するために改変されており一部動作が異なるので注意しましょう
・Bourneシェルは既にレガシーです
歴史的資料 https://www.in-ulm.de/~mascheck/
Bourneシェル≒Version 7 UNIXのshに一番近いのはOpenSolaris由来のHeirloom Bourne Shell、次点でSchily Bourne Shellのoboshです
Heirloom Bourne Shell: sh http://heirloom.sourceforge.net/sh.html
Schily Bourne Shell: obosh http://schilytools.sourceforge.net/bosh.html
・POSIXに準拠しましょう
有用なリンクは https://en.wikipedia.org/wiki/POSIX にまとめられています
最新の仕様はこちら http://pubs.opengroup.org/onlinepubs/9699919799/ (左上の「Shell & Utilities」から)
・csh/tcshでのシェルスクリプトは*まったく推奨しません*
参考 http://www.speech-lab.org/~hiroki/csh-whynot.euc
・Linux/UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。Manページや各種リンクを見ましょう
aproposやman -kでそれらしい単語による簡単な検索もできます
・ワイルドカードは正規表現ではありません
正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆうな
2019/10/25(金) 00:10:25.47ID:6btPTvif
関連スレ
【Bash】Windows Subsystem for Linux【WSL】6
https://mao.5ch.net/test/read.cgi/linux/1560665525/
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/
【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
【Bash】Windows Subsystem for Linux【WSL】6
https://mao.5ch.net/test/read.cgi/linux/1560665525/
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/
【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
2019/10/25(金) 00:31:55.29ID:pN2Np6rx
隣で仕事してる他社のチームが、新人にコマンドプロンプトのことをMS-DOSって教えてて笑える
2019/10/25(金) 02:33:05.14ID:IsBuDbrd
業界内で技術用語を正確に把握している人が果たして何人いるんだろうか?
2019/10/25(金) 15:16:28.60ID:L9QL6FGO
コマンドプロンプトのことをなんと教えるか?
× MS-DOSのようなもの
○ ハドソンのゲーム、バニーガール殺人事件のようなもの
https://middle-edge.jp/articles/bFwpM
× MS-DOSのようなもの
○ ハドソンのゲーム、バニーガール殺人事件のようなもの
https://middle-edge.jp/articles/bFwpM
2019/10/25(金) 18:14:14.63ID:ggZuLyhL
Win9xまではコマンドプロンプトのアイコンがMSDOSだったんだぜ
8デフォルトの名無しさん
2019/10/25(金) 19:44:43.63ID:f89Z34lq あれって MS-DOS プロンプトって名前じゃなかった?
Windows NT の方はコマンドプロンプト。
Windows NT の方はコマンドプロンプト。
2019/10/25(金) 21:05:38.68ID:AWtm0G4L
先輩がコマプロとか言っててキモかったな(´・ω・`)
2019/10/25(金) 21:16:19.65ID:Qd2+OiXZ
そういう誰も効かない変な略し方ってどうやって生まれるんだろうね?
俺の知り合いは、AMDをアーマーデーとか言ってた。なんで伸ばすん?
俺の知り合いは、AMDをアーマーデーとか言ってた。なんで伸ばすん?
11デフォルトの名無しさん
2019/10/25(金) 23:38:51.04ID:9ZGj0mXw ドイツ語読みだとしてもマーがおかC
2019/10/25(金) 23:59:50.22ID:6xV0MpQs
そういえばもうDOSプロンプトって言い方しなくなったな
2019/10/26(土) 00:00:29.42ID:hrL9FWKp
XP以降しか使ったことがないって人も増えたからね
2019/10/26(土) 16:02:34.81ID:5U6kcXeJ
MS-DOS の話をしても現在の Windows で再現できないという理由で嘘つき呼ばわりされる。
15デフォルトの名無しさん
2019/10/26(土) 16:33:49.92ID:+M+pJ73c TRUE=$([ 0 = 0 ];echo $?)
FALSE=$([ ! $TRUE ];echo $?)
FLAG=$TRUE or $FALSE
↑クソコード
理由
true / false を使えばいい
true / false がない環境があるかもという理屈なら、 [ がない環境もあるかもと考えろ
set -e のときに動かない
[ ! $FALSE ]; echo $? が 1($FALSEと同じ値)を返すことに気づいていない
サブシェルを使うのもアホらしい
たったこれだけのコードに、こんだけのツッコミができるとはw
FALSE=$([ ! $TRUE ];echo $?)
FLAG=$TRUE or $FALSE
↑クソコード
理由
true / false を使えばいい
true / false がない環境があるかもという理屈なら、 [ がない環境もあるかもと考えろ
set -e のときに動かない
[ ! $FALSE ]; echo $? が 1($FALSEと同じ値)を返すことに気づいていない
サブシェルを使うのもアホらしい
たったこれだけのコードに、こんだけのツッコミができるとはw
16デフォルトの名無しさん
2019/10/26(土) 16:35:45.72ID:+M+pJ73c TRUE=0
FALSE=1
と書いたほうが遥かにマシだが、
これでも、[ $TRUE ] も [ $FALSE ] も共に 0(成功)を返すので
なんだかなーって感じw
FALSE=1
と書いたほうが遥かにマシだが、
これでも、[ $TRUE ] も [ $FALSE ] も共に 0(成功)を返すので
なんだかなーって感じw
17デフォルトの名無しさん
2019/10/26(土) 16:38:37.76ID:+M+pJ73c18デフォルトの名無しさん
2019/10/26(土) 16:49:43.23ID:+M+pJ73c 変数($FLAG)に、0 or 1 を入れてる人は、
こういう書き方をしたいかんのやで
if [ $FLAG ]; then
if [ ! $FLAG ]; then
if [ $FLAG -eq $TRUE ]; then とか
if [ $FLAG -ne $TRUE ]; then って書かないといかん
こういう書き方をしたいかんのやで
if [ $FLAG ]; then
if [ ! $FLAG ]; then
if [ $FLAG -eq $TRUE ]; then とか
if [ $FLAG -ne $TRUE ]; then って書かないといかん
2019/10/26(土) 17:19:51.21ID:swDBEFOl
if $FLAG ; then
書き方も知らんらしいw
書き方も知らんらしいw
20デフォルトの名無しさん
2019/10/26(土) 20:30:57.76ID:+M+pJ73c 0: コマンドが見つかりません
www
www
21デフォルトの名無しさん
2019/10/26(土) 21:19:29.63ID:axNoNf0W22デフォルトの名無しさん
2019/10/26(土) 21:55:28.23ID:NL9ts++52019/10/26(土) 23:37:13.88ID:9r5pzvRl
いつものとっちゃんが来てたのか
24デフォルトの名無しさん
2019/10/26(土) 23:42:04.85ID:Mu/CRk1W 0: コマンドが見つかりません
を確かめようと、WSLで実行したらエラー無く実行されたw
/mnt/c/WINDOWS/system32/0
というファイルが有る。
サイズゼロだから問題ないが、なんだこれw
ちなみに1はないのでエラーになる
を確かめようと、WSLで実行したらエラー無く実行されたw
/mnt/c/WINDOWS/system32/0
というファイルが有る。
サイズゼロだから問題ないが、なんだこれw
ちなみに1はないのでエラーになる
2019/10/27(日) 12:52:55.51ID:HgLbCoih
>>9
DECのVAX上で動くシェルスクリプトのようなものでコマプロってあったな
先輩からはコマンドプロシジャーの略って聞いたけど
今調べると「DCL および MCR コマンド言語インタプリタ」って言うのっぽい
適当にぐぐって出てきたPDFに載ってるそれらしい用語だけどさ
20年以上前の話だ、なつかしい・・・
DECのVAX上で動くシェルスクリプトのようなものでコマプロってあったな
先輩からはコマンドプロシジャーの略って聞いたけど
今調べると「DCL および MCR コマンド言語インタプリタ」って言うのっぽい
適当にぐぐって出てきたPDFに載ってるそれらしい用語だけどさ
20年以上前の話だ、なつかしい・・・
2019/10/27(日) 23:45:43.77ID:seZQk3at
質問スレでこっちでやれってレスもらったのできました。
そのまま同じ書き込みします。
↓
リモートで最新の1つを残してログを削除したいです。
$ ssh host 'rm -f `ls -1t /home/app/201910/*.log | tail -n+2`'
これを複数のディレクトリで実行しようとしたのが、
var1=201909
var2=201910
array=($var1 $var2)
for var in ${array[@]}
do
ssh host rm -f $(tail -n+2 $(ls -1t /home/app/${var}/*.log))
done
なのですが、ls -1t /home/app/${var}/*.logがローカルで実行されてしまい
ます。(ls: /home/app/201909/*.log: No such file or directory)
うまくいくようにアドバイスなどいただけるとうれしいです。
そのまま同じ書き込みします。
↓
リモートで最新の1つを残してログを削除したいです。
$ ssh host 'rm -f `ls -1t /home/app/201910/*.log | tail -n+2`'
これを複数のディレクトリで実行しようとしたのが、
var1=201909
var2=201910
array=($var1 $var2)
for var in ${array[@]}
do
ssh host rm -f $(tail -n+2 $(ls -1t /home/app/${var}/*.log))
done
なのですが、ls -1t /home/app/${var}/*.logがローカルで実行されてしまい
ます。(ls: /home/app/201909/*.log: No such file or directory)
うまくいくようにアドバイスなどいただけるとうれしいです。
2019/10/28(月) 00:08:46.94ID:+rzOrIi/
rm以降をクウォートしてないからじゃないの?
2019/10/28(月) 00:11:36.36ID:UoBv9hmi
ssh host 'ls -1t /home/app/'${var}'/*.log | tail -n +2 | xargs rm -f'
とか
とか
2019/10/28(月) 00:25:54.20ID:IRy7CIwD
クォートと中なら、平気、なの
2019/10/28(月) 00:28:19.46ID:XocDEeOH
この程度でいちいちbash依存しないでほしい
set -- 201909 201910
for var in $@
set -- 201909 201910
for var in $@
2019/10/28(月) 00:34:13.46ID:UoBv9hmi
for loop の場合、デフォルトでは "$@" が対象になるので
for var;do ... ;done
と書ける
for var;do ... ;done
と書ける
2019/10/28(月) 00:48:08.79ID:h0m+PRW8
2019/10/28(月) 00:49:49.60ID:+rzOrIi/
2019/10/28(月) 00:50:45.01ID:UoBv9hmi
$HOME/.ssh/config に RequestTTY とか書いてない?
2019/10/28(月) 01:18:31.93ID:h0m+PRW8
考えてくれて、レスをくれてありがとうございます。
>>28>>31
for var;do ssh host 'ls -1t /home/app/'${var}'/*.log | tail -n +2 | xargs rm -f' ;done
hoge.sh: 行 38: 予期しないトークン `done' 周辺に構文エラーがあります
をリモート側が返しました。
>>33
+ ssh host 'rm -f $(tail -n+2 $(ls -1t /home/app/'"${var}"'/*.log))'
bash: 警告: command substitution: ignored null byte in input
bash: /bin/rm: 引数リストが長すぎます
>>34
リモートには~/.ssh/configは無くて、ローカルはUser、HostName、Port、
IdentityFile、ServerAliveIntervalを書いてます。
取り急ぎ報告します。エラーについては調べてみます。
>>28>>31
for var;do ssh host 'ls -1t /home/app/'${var}'/*.log | tail -n +2 | xargs rm -f' ;done
hoge.sh: 行 38: 予期しないトークン `done' 周辺に構文エラーがあります
をリモート側が返しました。
>>33
+ ssh host 'rm -f $(tail -n+2 $(ls -1t /home/app/'"${var}"'/*.log))'
bash: 警告: command substitution: ignored null byte in input
bash: /bin/rm: 引数リストが長すぎます
>>34
リモートには~/.ssh/configは無くて、ローカルはUser、HostName、Port、
IdentityFile、ServerAliveIntervalを書いてます。
取り急ぎ報告します。エラーについては調べてみます。
2019/10/28(月) 01:42:31.88ID:h0m+PRW8
bash: /bin/rm: 引数リストが長すぎます
についてはしかたないので>>28さんのパイプを使うことにしました。
/dev/tty を読み込むために開けませんでした
についてはsshにtオプションをつけました。
`done' 周辺に構文エラーはこれから調べます。
とりあえず当初の目的は達成できました。
みんな親切にありがとうございます。
についてはしかたないので>>28さんのパイプを使うことにしました。
/dev/tty を読み込むために開けませんでした
についてはsshにtオプションをつけました。
`done' 周辺に構文エラーはこれから調べます。
とりあえず当初の目的は達成できました。
みんな親切にありがとうございます。
2019/10/28(月) 13:32:08.60ID:S2HNyEoD
curl ja.wttr.in/tokyo
curl cheat.sh/ls
これ以外に端末で使える便利サイトってある?
curl cheat.sh/ls
これ以外に端末で使える便利サイトってある?
2019/10/28(月) 13:35:16.78ID:tEsfLTI+
宣伝おつ
39デフォルトの名無しさん
2019/10/29(火) 09:50:33.80ID:zCzSjgo7 sshを複数回動かすよりも一回で全部やらせちゃった方が効率良いような気がするんだ
2019/10/29(火) 11:14:16.19ID:2AEjd6SF
なにそれ、よさそう。
でもわたしの頭ではどうしたらよいものやら。。
でもわたしの頭ではどうしたらよいものやら。。
41デフォルトの名無しさん
2019/10/29(火) 12:20:30.44ID:zCzSjgo7 forのループごとsshで引き渡せばいいじゃん。1行の長いシェルスクリプトってことね。
2019/10/29(火) 13:55:53.48ID:2AEjd6SF
まだ帰宅していないので考えただけですが、
ls | tail | rm したいディレクトリが11個あって、
ディレクトリのpwdは/home/'"$var"'/'"$i"'/ みたいに2箇所変数にしてます。
それをssh1行でループを送れるバエた方法があるますか?
ls | tail | rm したいディレクトリが11個あって、
ディレクトリのpwdは/home/'"$var"'/'"$i"'/ みたいに2箇所変数にしてます。
それをssh1行でループを送れるバエた方法があるますか?
2019/10/29(火) 13:59:15.42ID:2AEjd6SF
たしかにsshのループの時にいちいち
Connection to xxx.xxx.xxx.xxx closed
が出てうざかったんですよね。
Connection to xxx.xxx.xxx.xxx closed
が出てうざかったんですよね。
2019/10/29(火) 14:00:01.92ID:gns1i7FP
ヒアドキュメントにすればいいんじゃない
#!/bin/sh
cat <<'EOS' | ssh host sh
var1=201909
var2=201910
set -- "${var1}" "${var2}"
for var
do
ls -1t /home/app/"${var}"/*.log | tail -n +2 | xargs rm -f
done
EOS
#!/bin/sh
cat <<'EOS' | ssh host sh
var1=201909
var2=201910
set -- "${var1}" "${var2}"
for var
do
ls -1t /home/app/"${var}"/*.log | tail -n +2 | xargs rm -f
done
EOS
2019/10/29(火) 14:19:01.08ID:gns1i7FP
と思ったけど、リモートホストのどこかにスクリプトファイルを置いて
ssh host /path/to/script
とかやればいいんじゃないかな
> たしかにsshのループの時にいちいち
> Connection to xxx.xxx.xxx.xxx closed
> が出てうざかったんですよね。
なんでこのメッセージが表示されるんだろう…やっぱり pseudo tty を
使ってるよね
ssh host /path/to/script
とかやればいいんじゃないかな
> たしかにsshのループの時にいちいち
> Connection to xxx.xxx.xxx.xxx closed
> が出てうざかったんですよね。
なんでこのメッセージが表示されるんだろう…やっぱり pseudo tty を
使ってるよね
2019/10/29(火) 14:32:50.27ID:CowX2GWO
CI/CD で使う、Task Runner みたいな方が良いかも
Ruby なら、Rake を使った、Capistrano とか、
Thor とか
Ruby なら、Rake を使った、Capistrano とか、
Thor とか
2019/10/29(火) 14:37:21.30ID:g8zM1lJr
rubyはけっこうです
2019/10/29(火) 15:00:21.96ID:2AEjd6SF
> ヒアドキュメント
> リモートホストのどこかにスクリプト
なるほど!それならわたしでも理解できます!
> Connection to xxx.xxx.xxx.xxx closed
これは、
ssh host 'ls -1t /home/app/'${var}'/*.log | tail -n +2 | xargs rm -f'
としたときに、
/dev/tty を読み込むために開けませんでした: そのようなデバイスやアドレスはありません
と言われてしまったので、sshに-tをつけてから出るようになりました。
サーバーのアプリが集めた写真をscpでダウンロード→
→ダウンロードした写真を削除→アプリのログを削除
って流れのスクリプトなのでやたらとConnection to xxx.xxx.xxx.xxx closedが出ます。
> リモートホストのどこかにスクリプト
なるほど!それならわたしでも理解できます!
> Connection to xxx.xxx.xxx.xxx closed
これは、
ssh host 'ls -1t /home/app/'${var}'/*.log | tail -n +2 | xargs rm -f'
としたときに、
/dev/tty を読み込むために開けませんでした: そのようなデバイスやアドレスはありません
と言われてしまったので、sshに-tをつけてから出るようになりました。
サーバーのアプリが集めた写真をscpでダウンロード→
→ダウンロードした写真を削除→アプリのログを削除
って流れのスクリプトなのでやたらとConnection to xxx.xxx.xxx.xxx closedが出ます。
49デフォルトの名無しさん
2019/10/29(火) 15:57:57.38ID:zCzSjgo7 sshで接続する先のサーバに予めシェルスクリプト送り込んでおいてsshで実行だけするという手もあるな。
あまりにも長くて複雑な場合はその方が楽だと思う。
ただし、送り込んでから実行するまでの間に何者かによって別のファイルに置き換えられてしまったら終わりなのでその心配のない環境でしかできない。
あまりにも長くて複雑な場合はその方が楽だと思う。
ただし、送り込んでから実行するまでの間に何者かによって別のファイルに置き換えられてしまったら終わりなのでその心配のない環境でしかできない。
50デフォルトの名無しさん
2019/10/29(火) 15:59:43.78ID:zCzSjgo7 うう。リロードし忘れて書いたら既に同じようなのが書かれている。orz
2019/10/29(火) 16:01:56.26ID:spBBwL/I
やり方は忘れたが、ローカルでgzにしたものをワンライナーで
送ってリモートに保存せずに実行っていうのをやったことがある気がする
かもしれないけど、保存していたかもしれない
送ってリモートに保存せずに実行っていうのをやったことがある気がする
かもしれないけど、保存していたかもしれない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【台湾有事】トランプ氏 電話会談で高市総理に発言抑制を要求か 米メディア報道… ★7 [BFU★]
- 【速報】 トランプ米大統領が高市首相に、台湾巡り助言したという報道は事実ではない 日本政府が否定 [お断り★]
- 「国分太一さんの悪口なんて聞いたことがない」 起業家・溝口勇児氏が擁護「三国志で言えば劉備」「誤解生まれているんじゃないか」 [muffin★]
- 改革の会が自民会派入りへ、与党過半数に [どどん★]
- 追い詰められているのは「高市首相」ではなく「習近平」? 対日強硬姿勢は「経済悪化」で虚勢、高市首相へ [お断り★]
- 「AdoのMCは長いし、空気が盛り下がる」ネットの声にAdo本人が言及「すみません。喋るのが元々得意でないので…」 [muffin★]
- 🇺🇸メディア大誤報、高市電話会談記事「🇨🇳刺激しないよう公の場で発言を控えろ」と加筆して訂正へ [709039863]
- 【悲報】ネトウヨ「高市内閣すげぇ…国会で居眠りしてる閣僚が一人もいねぇ…!!!」👈19万いいね [714769305]
- 段差で足捻った!!!!
- 【高市悲報】麻生太郎さん、ものすごい顔で官邸入り [115996789]
- 世界一流紙(ロイター、ブルームバーグ、WSJ) 「トランプが高市首相に挑発しないよう助言」 と一斉報道→日本政府は否定wwww [271912485]
- 【悲報】石破茂さん、ジョンウィック状態www鈴木農水大臣を連日猛批判www [793117252]
