シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ: シェルスクリプト総合 その27(https://mevius.5ch.net/test/read.cgi/unix/1525337663/)
シェルスクリプト総合 その28
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
2018/07/24(火) 11:01:16.36ID:r0TJj2hB817デフォルトの名無しさん
2018/09/14(金) 20:39:41.70ID:1jWDqP4V >>809
カーネルいじればそれは可能だな。
カーネル書ける人なら目茶目茶難しいってほどじゃないから、
カーネル書ける人雇えばいいぞ!
ただしそれを標準カーネルの機能として入れてもらえるように
議論するのは、カーネルに機能追加するよりだいぶ大変かも。
#! じゃない別のmagic文字列にした方が提案通りやすいかもな。
頑張れw
カーネルいじればそれは可能だな。
カーネル書ける人なら目茶目茶難しいってほどじゃないから、
カーネル書ける人雇えばいいぞ!
ただしそれを標準カーネルの機能として入れてもらえるように
議論するのは、カーネルに機能追加するよりだいぶ大変かも。
#! じゃない別のmagic文字列にした方が提案通りやすいかもな。
頑張れw
818デフォルトの名無しさん
2018/09/14(金) 20:42:06.79ID:6xTUz+7n819デフォルトの名無しさん
2018/09/14(金) 20:43:14.61ID:6xTUz+7n つーか、いい加減にしないといつもの荒らしモードに入るぞ?w
議論に負けそうになると、話をすり替えて、
俺を呼ばわりするのはいつもの手だよなw
もうそろそろ荒らし認定することだと思ってるんだが?w
議論に負けそうになると、話をすり替えて、
俺を呼ばわりするのはいつもの手だよなw
もうそろそろ荒らし認定することだと思ってるんだが?w
820デフォルトの名無しさん
2018/09/14(金) 20:43:32.04ID:6xTUz+7n 訂正
俺を荒らし呼ばわりするのはいつもの手だよなw
俺を荒らし呼ばわりするのはいつもの手だよなw
821デフォルトの名無しさん
2018/09/14(金) 20:46:17.92ID:6xTUz+7n 反論しないならさっさとNGIDに入れて
俺に反論できない状態を作ってくれよ?
見れなくなったら俺に反論できないんだから
それこそ俺の望んだ結果だw
はい、結論。>>809の方法で技術的には実現可能です。
反論がある人は、関係者を説得して調整をするのが難しいって
別の話にすり替えないで技術的な話でお願いしますねー
俺に反論できない状態を作ってくれよ?
見れなくなったら俺に反論できないんだから
それこそ俺の望んだ結果だw
はい、結論。>>809の方法で技術的には実現可能です。
反論がある人は、関係者を説得して調整をするのが難しいって
別の話にすり替えないで技術的な話でお願いしますねー
822デフォルトの名無しさん
2018/09/14(金) 20:46:23.72ID:1jWDqP4V823デフォルトの名無しさん
2018/09/14(金) 20:48:41.19ID:6xTUz+7n824デフォルトの名無しさん
2018/09/14(金) 20:48:54.07ID:1jWDqP4V だって勝手に勘違いして勝手な仮定して勝手に腹立ててるんだもん。
せっかく賛成してた俺まで敵視しだす有り様だし。
自業自得ってことよ。
せっかく賛成してた俺まで敵視しだす有り様だし。
自業自得ってことよ。
825デフォルトの名無しさん
2018/09/14(金) 20:51:13.71ID:jAge75Zy 長文ってだけでとりあえずスクロールする
826デフォルトの名無しさん
2018/09/14(金) 20:54:16.23ID:6xTUz+7n >>824
5ちゃんねるなんだからこの程度のもんよ
こっちが真面目に話をしていても、とりあえず何か言い返せば
それが反論したことになるみたいな、みたいなクソみたいなレスしてくる
いい案だと思うなら一言「それはいい考えだ」ぐらい書けと
自分が間違っていたら、素直に間違いを認めるやつばかりなら、
それもこんなにどうでもいいことを、毎回書かなくてすむんだよ
5ちゃんねるなんだからこの程度のもんよ
こっちが真面目に話をしていても、とりあえず何か言い返せば
それが反論したことになるみたいな、みたいなクソみたいなレスしてくる
いい案だと思うなら一言「それはいい考えだ」ぐらい書けと
自分が間違っていたら、素直に間違いを認めるやつばかりなら、
それもこんなにどうでもいいことを、毎回書かなくてすむんだよ
827デフォルトの名無しさん
2018/09/14(金) 20:58:13.19ID:EsLYvq4M >>816
ファイルシステムの構成に何らかの仮定を置いた時点でユーザランドと分離できていない。
ファイルシステムの構成に何らかの仮定を置いた時点でユーザランドと分離できていない。
828デフォルトの名無しさん
2018/09/14(金) 20:59:16.05ID:EsLYvq4M ちなみに俺はIDずっと変えてないよ。
829デフォルトの名無しさん
2018/09/14(金) 20:59:57.05ID:6xTUz+7n830デフォルトの名無しさん
2018/09/14(金) 21:08:41.85ID:EsLYvq4M >>829
仮定せずにどうやって/usr/bin/env付ければいいってわかるの?
仮定せずにどうやって/usr/bin/env付ければいいってわかるの?
831デフォルトの名無しさん
2018/09/14(金) 21:12:09.04ID:6xTUz+7n >>830
単なる文字列の置換に過ぎない
カーネルはシバンがファイルパスなんて思ってない。
カーネルがシバンを読み取るというのなら、少なくとも
読み取ったものがシバンであるということはわかってる
あとはそこににある文字列が、ファイルパスだろうが
ランダム文字列だろうが関係ない
単に#!の後に固定の文字列を埋めるだけ
あとは後続のプログラムに渡せば、
そいつが勝手になにかしてくれるんだろ?
それはカーネルの知ったことじゃない
単なる文字列の置換に過ぎない
カーネルはシバンがファイルパスなんて思ってない。
カーネルがシバンを読み取るというのなら、少なくとも
読み取ったものがシバンであるということはわかってる
あとはそこににある文字列が、ファイルパスだろうが
ランダム文字列だろうが関係ない
単に#!の後に固定の文字列を埋めるだけ
あとは後続のプログラムに渡せば、
そいつが勝手になにかしてくれるんだろ?
それはカーネルの知ったことじゃない
832デフォルトの名無しさん
2018/09/14(金) 21:30:49.25ID:gmWhNmZA この話と実行権限が関係ないのは理解できたのか?
833デフォルトの名無しさん
2018/09/14(金) 21:44:08.73ID:6xTUz+7n >>832
お前1人で意味不明の話をしてるんだってw
(awkスクリプトで書いた)fooコマンドが実行できるのは
fooコマンドに実行権限がついているからだし、そのfooコマンドの
シバンで指定されたプログラムも実行権限がついていなければいけない
当たり前の話だが、上記の理由により awkであっても /usr/bin/envを
使っておいたほうが良いって結論を言ったんだが、
それに対して前は何の話をしてるのだ?
お前1人で意味不明の話をしてるんだってw
(awkスクリプトで書いた)fooコマンドが実行できるのは
fooコマンドに実行権限がついているからだし、そのfooコマンドの
シバンで指定されたプログラムも実行権限がついていなければいけない
当たり前の話だが、上記の理由により awkであっても /usr/bin/envを
使っておいたほうが良いって結論を言ったんだが、
それに対して前は何の話をしてるのだ?
834デフォルトの名無しさん
2018/09/14(金) 21:46:58.87ID:6xTUz+7n どうもこの話を理解できないのが、おかしいと思うんだが、
もしかしてawkスクリプトに実行権限をつけるという発想がないのか?
いつもawk -f スクリプトファイル名 で実行してるとか?
いや、まさかな。
シバンはスクリプトファイル名だけで実行するためにあるんだし
そのために実行権限つけるだろう。
でもなぁ、ここまで以上に理解能力がないのは、
まかさが的中しているとしか思えない。
シバンをつける意味もわかってなかったりしてw
もしかしてawkスクリプトに実行権限をつけるという発想がないのか?
いつもawk -f スクリプトファイル名 で実行してるとか?
いや、まさかな。
シバンはスクリプトファイル名だけで実行するためにあるんだし
そのために実行権限つけるだろう。
でもなぁ、ここまで以上に理解能力がないのは、
まかさが的中しているとしか思えない。
シバンをつける意味もわかってなかったりしてw
835デフォルトの名無しさん
2018/09/14(金) 21:49:19.68ID:jAge75Zy ここまでの話全く読んでないけどawk実行させる時は-f使うわ
836デフォルトの名無しさん
2018/09/14(金) 22:00:24.41ID:6xTUz+7n >>835
ということは、シェルスクリプトを実行させるときはsh使って
perlスクリプトを実行させる時はperlを使ってるのかな?
かつてsystemdが普及するまではみんなが使っていた
serviceコマンドやbyobuはシェルスクリプトだし
apt-fileやshasumはPerlスクリプトだし
ufwはPythonスクリプトだよ
実装がなんのスクリプト言語で作られているかなんて気にしなくていいじゃないかw
ということは、シェルスクリプトを実行させるときはsh使って
perlスクリプトを実行させる時はperlを使ってるのかな?
かつてsystemdが普及するまではみんなが使っていた
serviceコマンドやbyobuはシェルスクリプトだし
apt-fileやshasumはPerlスクリプトだし
ufwはPythonスクリプトだよ
実装がなんのスクリプト言語で作られているかなんて気にしなくていいじゃないかw
837デフォルトの名無しさん
2018/09/14(金) 22:02:01.56ID:jAge75Zy shは実行権限つける
perlは場合による
意味はない
perlは場合による
意味はない
838デフォルトの名無しさん
2018/09/14(金) 23:01:40.99ID:gmWhNmZA839デフォルトの名無しさん
2018/09/14(金) 23:05:15.75ID:fXySkelb $ls aho.sh
rw-r--r-- aho
$. ./aho.sh
aho
$
rw-r--r-- aho
$. ./aho.sh
aho
$
840デフォルトの名無しさん
2018/09/14(金) 23:06:41.90ID:fXySkelb $cat ./aho.sh
echo aho
$
echo aho
$
841デフォルトの名無しさん
2018/09/14(金) 23:15:17.42ID:1jWDqP4V >>838
確かにあの書き込みは全体的に意味不明だったね。
確かにあの書き込みは全体的に意味不明だったね。
842デフォルトの名無しさん
2018/09/15(土) 01:10:17.43ID:pm09nqHo >>838
> と、書いてたからパス指定と実行権限の意味は無関係だと指摘してるだけなんだが
> 機能的文盲とかいうやつなのか?
実行権限がついているとパスの指定を省略できるんだよ
ご存知じゃないかもしれないが(皮肉)パスの指定を省略した時に
$PATHに設定された複数のパスから、パスを補完してくれる機能がある
つまり$PATHからパスを補完してほしいなら実行権限をつけないとだめ
(awk)スクリプトを$PATHの中から補完してほしいなら実行権限をつける。
そうするとパスを省略して実行できる。
スクリプト自体は$PATHから補完してくれる、だけどそのスクリプトに
シバンが/usr/bin/awkとなっていると、スクリプトを実行するインタプリタは
/usr/bin/awk固定となってしまう。
/usr/bin/env awk -f と書くことで、インタプリタ自体も$PATHから検索してくれる
パス指定を"省略すること" と 実行権限の意味、いい加減理解しましたかね?
> と、書いてたからパス指定と実行権限の意味は無関係だと指摘してるだけなんだが
> 機能的文盲とかいうやつなのか?
実行権限がついているとパスの指定を省略できるんだよ
ご存知じゃないかもしれないが(皮肉)パスの指定を省略した時に
$PATHに設定された複数のパスから、パスを補完してくれる機能がある
つまり$PATHからパスを補完してほしいなら実行権限をつけないとだめ
(awk)スクリプトを$PATHの中から補完してほしいなら実行権限をつける。
そうするとパスを省略して実行できる。
スクリプト自体は$PATHから補完してくれる、だけどそのスクリプトに
シバンが/usr/bin/awkとなっていると、スクリプトを実行するインタプリタは
/usr/bin/awk固定となってしまう。
/usr/bin/env awk -f と書くことで、インタプリタ自体も$PATHから検索してくれる
パス指定を"省略すること" と 実行権限の意味、いい加減理解しましたかね?
843デフォルトの名無しさん
2018/09/15(土) 01:13:44.97ID:pm09nqHo ほんと、理解能力がないのか、
それとも、単に技術レベルが数ランク下なのか知らんが
馬鹿を相手にしてると疲れる。煽りたくもなるわw
それとも、単に技術レベルが数ランク下なのか知らんが
馬鹿を相手にしてると疲れる。煽りたくもなるわw
844デフォルトの名無しさん
2018/09/15(土) 01:20:22.61ID:pm09nqHo845デフォルトの名無しさん
2018/09/15(土) 01:22:03.62ID:pm09nqHo 実行権限は単に実行可能にするだけじゃない
パスを省略して$PATHの中からパスを補完してくれる機能があるのだ
パスを省略して$PATHの中からパスを補完してくれる機能があるのだ
846デフォルトの名無しさん
2018/09/15(土) 01:32:29.75ID:pm09nqHo まあ、細かいことを説明するなら、"スクリプトファイル" の実行パスを
検索してくれるのはシェルで、シェルが$PATHの中から
実行ファイルを見つけることができるようにするために実行権限をつける
でも今は "スクリプトファイル" の実行パスの検索の話ではなく
シバンから起動する "インタプリタ" の話
シバン自体には$PATHの中から検索してくれる機能はなくて
単にシバンに書かれたパスのプログラムを実行するだけ
そこで出てくるマジックが /usr/bin/env awk -f
シバンは$PATHを検索しないが、/usr/bin/envが$PATHを検索して
適切なプログラム(ここではawk)に引き継いでくれる
などと丁寧に説明してやったら、今度は長文だーとか言って
荒らし呼ばわりするんだろう?
検索してくれるのはシェルで、シェルが$PATHの中から
実行ファイルを見つけることができるようにするために実行権限をつける
でも今は "スクリプトファイル" の実行パスの検索の話ではなく
シバンから起動する "インタプリタ" の話
シバン自体には$PATHの中から検索してくれる機能はなくて
単にシバンに書かれたパスのプログラムを実行するだけ
そこで出てくるマジックが /usr/bin/env awk -f
シバンは$PATHを検索しないが、/usr/bin/envが$PATHを検索して
適切なプログラム(ここではawk)に引き継いでくれる
などと丁寧に説明してやったら、今度は長文だーとか言って
荒らし呼ばわりするんだろう?
847デフォルトの名無しさん
2018/09/15(土) 02:03:07.61ID:pm09nqHo 話は変わるけどさ、
シェルスクリプト(シバンは #!/bin/sh 実体はdash)に
A=
A=123 echo "$A-1"
echo "$A-2"
って書いて実行したら以下のように表示されるんだよ。
-1
-2
この動きはA=123が評価される前にechoの変数展開が行われて-1になって
実行したらAの内容が元に戻るから-2と表示されるということで理解できる
でも以下のように書いたら
A=
A=123 eval 'echo "$A-1"'
echo "$A-2"
次のように表示されるんだよ
123-1
123-2
これはどういうわけだろう?
さらにbashとzshで実行した場合は以下のように表示されたw
123-1
-2
この動作ならまだ理解できる。
でもkshやposhやyashなんかはdashと同じ
どっちが正しい動きなんだろう?
シェルスクリプト(シバンは #!/bin/sh 実体はdash)に
A=
A=123 echo "$A-1"
echo "$A-2"
って書いて実行したら以下のように表示されるんだよ。
-1
-2
この動きはA=123が評価される前にechoの変数展開が行われて-1になって
実行したらAの内容が元に戻るから-2と表示されるということで理解できる
でも以下のように書いたら
A=
A=123 eval 'echo "$A-1"'
echo "$A-2"
次のように表示されるんだよ
123-1
123-2
これはどういうわけだろう?
さらにbashとzshで実行した場合は以下のように表示されたw
123-1
-2
この動作ならまだ理解できる。
でもkshやposhやyashなんかはdashと同じ
どっちが正しい動きなんだろう?
848デフォルトの名無しさん
2018/09/15(土) 04:27:15.99ID:2etSWec6 またかww
849デフォルトの名無しさん
2018/09/15(土) 05:43:59.56ID:krdUo6un >>847
単にシェルごとに仕様が違ってるだけで全て正常動作だろうし正しいと言えば正しいのでは?
てか、あらゆるシェルはこのような時はこのような動きにならなければいけないみたいな決まりがあるわけでもないんだから正しいか間違いかで考えること自体がおかしい。
単にシェルごとに仕様が違ってるだけで全て正常動作だろうし正しいと言えば正しいのでは?
てか、あらゆるシェルはこのような時はこのような動きにならなければいけないみたいな決まりがあるわけでもないんだから正しいか間違いかで考えること自体がおかしい。
850デフォルトの名無しさん
2018/09/15(土) 06:12:06.93ID:pm09nqHo >>849
> 単にシェルごとに仕様が違ってるだけで全て正常動作だろうし正しいと言えば正しいのでは?
POSIXの仕様と照らし合わせてって意味だよ
POSIXの仕様と照らし合わせて正しいのか間違ってるのか
そもそもPOSIXにこういったときの仕様は定義されていないのか
> あらゆるシェルはこのような時はこのような動きにならなければいけないみたいな決まりがあるわけでもないんだから
決まりはあって、それがPOSIXの仕様のことだよ
> 単にシェルごとに仕様が違ってるだけで全て正常動作だろうし正しいと言えば正しいのでは?
POSIXの仕様と照らし合わせてって意味だよ
POSIXの仕様と照らし合わせて正しいのか間違ってるのか
そもそもPOSIXにこういったときの仕様は定義されていないのか
> あらゆるシェルはこのような時はこのような動きにならなければいけないみたいな決まりがあるわけでもないんだから
決まりはあって、それがPOSIXの仕様のことだよ
851デフォルトの名無しさん
2018/09/15(土) 06:13:27.92ID:pm09nqHo852デフォルトの名無しさん
2018/09/15(土) 09:25:08.76ID:bwURAev4 よほどリアルでぼっちなんだな。そらそうだなという人格と見えるし
853デフォルトの名無しさん
2018/09/15(土) 11:18:23.22ID:OUVvcRON >>843
> それとも、単に技術レベルが数ランク下なのか知らんが
https://cdn-ak.f.st-hatena.com/images/fotolife/k/kemurikikakuku/20170201/20170201184641.jpg
> それとも、単に技術レベルが数ランク下なのか知らんが
https://cdn-ak.f.st-hatena.com/images/fotolife/k/kemurikikakuku/20170201/20170201184641.jpg
854デフォルトの名無しさん
2018/09/15(土) 15:58:58.37ID:8KftQgLD 俺自身にもそういう傾向があるが
訊かれてもないことをずらずら書いて自己満足に浸るのはよくないと思う。
現実の人間関係でもそういう人はハブられがちだし。
訊かれてもないことをずらずら書いて自己満足に浸るのはよくないと思う。
現実の人間関係でもそういう人はハブられがちだし。
855デフォルトの名無しさん
2018/09/15(土) 16:00:37.10ID:KIanXBkQ 聞いたことを答えないで
聞かれてないことを答えるのは
それはそいつが何も知らないときだ
オマエはなにもわかってない
聞かれてないことを答えるのは
それはそいつが何も知らないときだ
オマエはなにもわかってない
856デフォルトの名無しさん
2018/09/15(土) 16:04:38.00ID:pm09nqHo857デフォルトの名無しさん
2018/09/15(土) 16:05:17.15ID:pm09nqHo >>847の質問よろしくおねがいします。
858デフォルトの名無しさん
2018/09/15(土) 16:16:01.63ID:iaCHT03n 文書なげぇんだよなぁ
859デフォルトの名無しさん
2018/09/15(土) 16:16:38.70ID:pm09nqHo 前に情報小出しにするなって言われたからねw
860デフォルトの名無しさん
2018/09/15(土) 16:32:31.20ID:Svn0IWNp 質問のときだけはへり下るのな
身を正してのつもりかもだが、質問のときだけですぐに豹変するからお前の場合はもうただただ気持ち悪いだけ
身を正してのつもりかもだが、質問のときだけですぐに豹変するからお前の場合はもうただただ気持ち悪いだけ
861デフォルトの名無しさん
2018/09/15(土) 16:35:43.79ID:pm09nqHo 何だ?質問も高圧的にすれば満足するんか?
ただ文句言いたいだけだろ。
そんな無駄な会話してないで
本題にもどれや
ただ文句言いたいだけだろ。
そんな無駄な会話してないで
本題にもどれや
862デフォルトの名無しさん
2018/09/15(土) 16:38:13.80ID:Svn0IWNp どうしてそっちになるのだか。やっぱりそっちが素で付け焼き刃のへりくだりか
社会的にはは豹変しない方になんだけどなあ
社会的にはは豹変しない方になんだけどなあ
863デフォルトの名無しさん
2018/09/15(土) 16:45:50.83ID:pm09nqHo やっぱり意地でもスレと無関係の話をしたいようだ。
お前がいなくなればスレは平和になるのになぁw
お前がいなくなればスレは平和になるのになぁw
864デフォルトの名無しさん
2018/09/15(土) 16:50:58.66ID:Svn0IWNp なにその俺は違う的なレスは
さすがいままでのレスで自己中ぶりを発揮しまくっただけあるやつだなあ。ただただ気持ち悪いのもそれは自己中ぶりからなんだかが、わからないだろうな、わかってたらそんな自己中にはならんだろうし
さすがいままでのレスで自己中ぶりを発揮しまくっただけあるやつだなあ。ただただ気持ち悪いのもそれは自己中ぶりからなんだかが、わからないだろうな、わかってたらそんな自己中にはならんだろうし
865デフォルトの名無しさん
2018/09/15(土) 16:55:24.75ID:SSTURz0o なるほど、コマンドライン上にある変数(シェルが予め展開する変数)はそのままなのか
fork & exec されるプロセス空間の環境変数にのみ作用するのだからそうなるわな
$ PATH=hoge ls "${PATH}"
$ PATH=hoge /bin/ls "${PATH}"
fork & exec されるプロセス空間の環境変数にのみ作用するのだからそうなるわな
$ PATH=hoge ls "${PATH}"
$ PATH=hoge /bin/ls "${PATH}"
866デフォルトの名無しさん
2018/09/15(土) 17:01:07.67ID:Svn0IWNp >>865
それと、(一時的)環境変数をいつするのかと、環境変数をいつ展開するのかが被ってるてとこかなあ
A=123 /bin/echo "$A"
A=123 bash/dash/ksh/etc... -c 'echo "$A"'
それと、(一時的)環境変数をいつするのかと、環境変数をいつ展開するのかが被ってるてとこかなあ
A=123 /bin/echo "$A"
A=123 bash/dash/ksh/etc... -c 'echo "$A"'
867デフォルトの名無しさん
2018/09/15(土) 17:19:32.41ID:8KftQgLD >>866
そのコマンドラインは,「直前に指定した変数が影響しない」のが正しい挙動だよな
なぜならシェルはそれらを一緒くたに処理するから,変数の変化を参照できない
↑この理解って正しい?
bashコマンドラインで
$ VAR=val echo $VAR
# なにも返らず
$ VAR=val; echo $VAR
val
こういう挙動から推測したんだけども。
そのコマンドラインは,「直前に指定した変数が影響しない」のが正しい挙動だよな
なぜならシェルはそれらを一緒くたに処理するから,変数の変化を参照できない
↑この理解って正しい?
bashコマンドラインで
$ VAR=val echo $VAR
# なにも返らず
$ VAR=val; echo $VAR
val
こういう挙動から推測したんだけども。
869デフォルトの名無しさん
2018/09/15(土) 17:42:37.90ID:pm09nqHo >>865
forkされる場合ってのはわかりやすいんだけどね
> A=
> A=123 echo "$A-1"
> echo "$A-2"
>
> 次のように表示されるんだよ
> 123-1
> 123-2
実行するのがシェルビルトインコマンドであっても実行後は元に戻る
ん?頭にA=123をつけた時、本当にシェルビルトインの
echoが呼ばれてるのか?と思ってecho --versionとしてみたが、
やっぱりシェルビルトインの方だった。
(/bin/echo --versionだとバージョン情報が表示される)
他のシェルで試してみたがすべて同じ挙動
ということで
> A=123 echo "$A-1"
と書いたら変数の内容は実行後に元に戻る。
というのが基本の動きでいいのだろう
まあよく知られた機能だよね。
forkされる場合ってのはわかりやすいんだけどね
> A=
> A=123 echo "$A-1"
> echo "$A-2"
>
> 次のように表示されるんだよ
> 123-1
> 123-2
実行するのがシェルビルトインコマンドであっても実行後は元に戻る
ん?頭にA=123をつけた時、本当にシェルビルトインの
echoが呼ばれてるのか?と思ってecho --versionとしてみたが、
やっぱりシェルビルトインの方だった。
(/bin/echo --versionだとバージョン情報が表示される)
他のシェルで試してみたがすべて同じ挙動
ということで
> A=123 echo "$A-1"
と書いたら変数の内容は実行後に元に戻る。
というのが基本の動きでいいのだろう
まあよく知られた機能だよね。
870デフォルトの名無しさん
2018/09/15(土) 17:43:08.57ID:pm09nqHo ちなみにコマンドライン(シェル)じゃなくて
スクリプトを書いて実行して確かめてる
スクリプトを書いて実行して確かめてる
871デフォルトの名無しさん
2018/09/15(土) 17:56:26.73ID:pm09nqHo 知ってると思うんだけど、念の為
var=value command
この構文は、変数varにvalueを入れるだけじゃなくて
export varした状態になる。だからcommandが
外部コマンドであっても値は引き継がれている
(今回の話とは直接関係はない)
var=value command
この構文は、変数varにvalueを入れるだけじゃなくて
export varした状態になる。だからcommandが
外部コマンドであっても値は引き継がれている
(今回の話とは直接関係はない)
872デフォルトの名無しさん
2018/09/15(土) 18:00:22.45ID:pm09nqHo 話を簡単にすると
A=
A=123 eval :
echo $A
dashだと123と表示される。
bashだと何も表示されない。
A=
A=123 eval :
echo $A
dashだと123と表示される。
bashだと何も表示されない。
873デフォルトの名無しさん
2018/09/15(土) 18:15:21.72ID:SSTURz0o >>872
ふむ、bash で set -o posix してから実行すると 123 って表示されるね
ふむ、bash で set -o posix してから実行すると 123 って表示されるね
874デフォルトの名無しさん
2018/09/15(土) 18:22:17.36ID:pm09nqHo875デフォルトの名無しさん
2018/09/15(土) 18:34:31.19ID:8KftQgLD876デフォルトの名無しさん
2018/09/15(土) 18:43:07.13ID:pm09nqHo >>875
それは単に「VAR=var echo $VAR」が1行だから
先に$VARが展開されるだけだと思うよ
変数を一時的に変更したいけど、別変数にバックアップして元に戻すの面倒だな
その他にも方法あるけどアレ(省略)だし、
よし、var=value command構文を使おう!
うお、先に$VARが展開されちまった
ぴこーん!だったらeval使えば先に展開されることないんじゃね?
よし動い・・・あれぁ、変数を一時的に変更したかったのに
実行終わっても変数が元に戻らないよぉ
よし5ちゃんねるだ。という流れw
それは単に「VAR=var echo $VAR」が1行だから
先に$VARが展開されるだけだと思うよ
変数を一時的に変更したいけど、別変数にバックアップして元に戻すの面倒だな
その他にも方法あるけどアレ(省略)だし、
よし、var=value command構文を使おう!
うお、先に$VARが展開されちまった
ぴこーん!だったらeval使えば先に展開されることないんじゃね?
よし動い・・・あれぁ、変数を一時的に変更したかったのに
実行終わっても変数が元に戻らないよぉ
よし5ちゃんねるだ。という流れw
877デフォルトの名無しさん
2018/09/15(土) 18:52:32.83ID:8KftQgLD >>876
もうとっくに分かってると思うが 俺が思い付いたのは
$ VAR=val-b4
$ (VAR=val-tmp; echo $VAR)
→ val-tmp
$ echo $VAR
→ val-b4
くらいだな
もうとっくに分かってると思うが 俺が思い付いたのは
$ VAR=val-b4
$ (VAR=val-tmp; echo $VAR)
→ val-tmp
$ echo $VAR
→ val-b4
くらいだな
878デフォルトの名無しさん
2018/09/15(土) 19:22:09.86ID:imSsWev+ https://i.imgur.com/VhwX2Fq.jpg
このスクショのようにmediainfoというコマンドのAudioの項目のFormatを取り出す方法教えてほしいです
。
以前はそのAudioのFormatという文字列はFormat profileだったので、
mediainfo "$FILE" | grep -E '^Format profile' | sed -E 's/.*: (.*)/\1/'
こうやってその行を抽出していたんですが、mediainfoがバージョンアップしてFormatという文字列に変わってしまいました。
Generalの項目にもFormatがあるので、これだと調べられません。
どうやるんでしょうか?
このスクショのようにmediainfoというコマンドのAudioの項目のFormatを取り出す方法教えてほしいです
。
以前はそのAudioのFormatという文字列はFormat profileだったので、
mediainfo "$FILE" | grep -E '^Format profile' | sed -E 's/.*: (.*)/\1/'
こうやってその行を抽出していたんですが、mediainfoがバージョンアップしてFormatという文字列に変わってしまいました。
Generalの項目にもFormatがあるので、これだと調べられません。
どうやるんでしょうか?
879デフォルトの名無しさん
2018/09/15(土) 19:37:37.26ID:SSTURz0o GNU sed の -r オプション使ってるけど、こんな感じで
$ mediainfo "$FILE" | sed -nr '/^Audio/,$s/^Format +: (.+)/\1/p'
$ mediainfo "$FILE" | sed -nr '/^Audio/,$s/^Format +: (.+)/\1/p'
880デフォルトの名無しさん
2018/09/15(土) 19:38:31.49ID:pm09nqHo >>878
mediainfo "$FILE" | sed -n -E '/Audio/,/\s*$/{s/Format\s*:\s//p}'
mediainfo "$FILE" | sed -n -E '/Audio/,/\s*$/{s/Format\s*:\s//p}'
881デフォルトの名無しさん
2018/09/15(土) 19:41:31.43ID:SSTURz0o ヘルプメッセージ読んだらこれでいいかも
$ mediainfo --Inform="Audio;%Format%" "$FILE"
$ mediainfo --Inform="Audio;%Format%" "$FILE"
882デフォルトの名無しさん
2018/09/15(土) 19:41:51.97ID:pm09nqHo Audioにformatが複数あっても対応できないかなー?ってやってたら遅れたw
883デフォルトの名無しさん
2018/09/15(土) 19:42:08.44ID:8KftQgLD >>878
mediainfo "$FILE" | sed -n -e '/^Audio/,$p' | grep '^Format' | cut -f '2-' -d ':' -s
これでどうだろう?
ところで綺麗な端末だね。
mediainfo "$FILE" | sed -n -e '/^Audio/,$p' | grep '^Format' | cut -f '2-' -d ':' -s
これでどうだろう?
ところで綺麗な端末だね。
884デフォルトの名無しさん
2018/09/15(土) 19:42:36.17ID:8KftQgLD ちょっと確かめてたらめっちゃ回答ついてたw
885デフォルトの名無しさん
2018/09/15(土) 19:43:35.86ID:8KftQgLD ちなみに俺のコマンドラインはPOSIXに準拠してるので可搬性は高いと思うよ(ドヤ顔)
886デフォルトの名無しさん
2018/09/15(土) 19:50:28.32ID:pm09nqHo887デフォルトの名無しさん
2018/09/15(土) 19:57:27.53ID:SSTURz0o >>886
>> GNU sed の -r オプション使ってるけど、こんな感じで
>-r じゃなくて -E を使えば良いのでは?
>POSIX準拠?かどうか知らないけど-Eは使えるはず
癖で指が -r を押してしまう…以後気をつけます
>> GNU sed の -r オプション使ってるけど、こんな感じで
>-r じゃなくて -E を使えば良いのでは?
>POSIX準拠?かどうか知らないけど-Eは使えるはず
癖で指が -r を押してしまう…以後気をつけます
888デフォルトの名無しさん
2018/09/15(土) 19:59:15.83ID:pm09nqHo Macだと\sは使えないのかな?
とりあえず>>879を参考にしつつ修正してみた。
General、Audio、の次になにか来ても対応できるようにしてみた。
これなら-Eいらんかったわ。macOSで動くのを確認済み
sed -n '/^Audio/,/^$/ s/^Format *: *// p'
とりあえず>>879を参考にしつつ修正してみた。
General、Audio、の次になにか来ても対応できるようにしてみた。
これなら-Eいらんかったわ。macOSで動くのを確認済み
sed -n '/^Audio/,/^$/ s/^Format *: *// p'
889デフォルトの名無しさん
2018/09/15(土) 20:01:46.68ID:pm09nqHo -Eが良いよ(ドヤァ)
POSIX準拠というより可搬性重視なので、
-Eが使えるなら-Eつけてれば良いんじゃね?ぐらいに思ってるw
POSIX準拠というより可搬性重視なので、
-Eが使えるなら-Eつけてれば良いんじゃね?ぐらいに思ってるw
890デフォルトの名無しさん
2018/09/15(土) 20:06:03.93ID:pm09nqHo >>883
> grep '^Format' | cut -f '2-' -d ':' -s
grepしてcutするって流れは、俺もよくやるんだけど、
awk一つにまとめられる(と後からよく気づくw)
> grep '^Format' | cut -f '2-' -d ':' -s
grepしてcutするって流れは、俺もよくやるんだけど、
awk一つにまとめられる(と後からよく気づくw)
891デフォルトの名無しさん
2018/09/15(土) 20:13:17.74ID:8KftQgLD >>890
でもなんかその操作をawk一つにまとめるって
emacsのorgモードに近い印象を受けるというか
ちょっとUnix哲学っぽくねえなと思う。
もちろんUnix哲学に従う必要性は皆無なんだけど,あくまで個人的な意見として。
でもなんかその操作をawk一つにまとめるって
emacsのorgモードに近い印象を受けるというか
ちょっとUnix哲学っぽくねえなと思う。
もちろんUnix哲学に従う必要性は皆無なんだけど,あくまで個人的な意見として。
892デフォルトの名無しさん
2018/09/15(土) 20:16:21.20ID:pm09nqHo >>891
それ言ったらsedは今回、範囲選択+行選択+置換 の3つを同時にやってるんやで?w
それ言ったらsedは今回、範囲選択+行選択+置換 の3つを同時にやってるんやで?w
893デフォルトの名無しさん
2018/09/15(土) 20:20:10.43ID:8KftQgLD894デフォルトの名無しさん
2018/09/15(土) 20:41:53.02ID:pm09nqHo sedもawkも複数行のスクリプトを実行できるわけで
一つのコマンドで複雑な異なる機能を提供してるから
Unix哲学から反してるのかもね
だから例のアレはUnix哲学がどうとか言ってる割に
結局awkでプログラム書くんかいって突っ込みたくなるんだな
一つのコマンドで複雑な異なる機能を提供してるから
Unix哲学から反してるのかもね
だから例のアレはUnix哲学がどうとか言ってる割に
結局awkでプログラム書くんかいって突っ込みたくなるんだな
895デフォルトの名無しさん
2018/09/15(土) 20:45:00.31ID:8rxpHkWL まだとどまる事のない誤解を披瀝し続けとってわろたw
896デフォルトの名無しさん
2018/09/15(土) 21:28:41.91ID:imSsWev+ みなさんどうもありがとうございます!
>>881
おお!こんなオプションがあったんですか!って思って試してみたんですが、
上のスクショのLC-AAC-Sample.aac、HE-AAC-Sample.aacで試すと、どちらもAACと表示され、
このファイルはLC-AACかHE-AACなのか判別して次の処理に進む事が出来なかったので、このオプションではダメでした。
INFO=$(mediainfo "$FILE" | sedほげほげ"
case "$INFO" in
"AAC LC" )
ほげほげ1
"AAC LC SBR")
ほげほげ2
*)
ほげほげ3
って感じで次の処理に進むんですが、
>>879、880、888だとほげほげ1か2に進めて、>>883だとほげほげ3になってしまいました。
>>881
おお!こんなオプションがあったんですか!って思って試してみたんですが、
上のスクショのLC-AAC-Sample.aac、HE-AAC-Sample.aacで試すと、どちらもAACと表示され、
このファイルはLC-AACかHE-AACなのか判別して次の処理に進む事が出来なかったので、このオプションではダメでした。
INFO=$(mediainfo "$FILE" | sedほげほげ"
case "$INFO" in
"AAC LC" )
ほげほげ1
"AAC LC SBR")
ほげほげ2
*)
ほげほげ3
って感じで次の処理に進むんですが、
>>879、880、888だとほげほげ1か2に進めて、>>883だとほげほげ3になってしまいました。
897デフォルトの名無しさん
2018/09/15(土) 21:30:45.05ID:imSsWev+ >>883
端末はMacのiTerm、シェルはfish、プロンプトは適当にいじったやつです。
端末はMacのiTerm、シェルはfish、プロンプトは適当にいじったやつです。
898デフォルトの名無しさん
2018/09/15(土) 21:43:49.56ID:pm09nqHo >>896
> このファイルはLC-AACかHE-AACなのか判別して次の処理に進む事が出来なかったので、このオプションではダメでした。
ちゃんと調べた? %Format%以外で出るのあるんじゃないの?
> このファイルはLC-AACかHE-AACなのか判別して次の処理に進む事が出来なかったので、このオプションではダメでした。
ちゃんと調べた? %Format%以外で出るのあるんじゃないの?
899デフォルトの名無しさん
2018/09/15(土) 21:59:26.07ID:imSsWev+ >>898
Audio;%Format/Info%
だと上のスクショの
Advanced Audio Codec Low Complexityなになに
が取り出せるようでした。
これだとLC AACならAdvanced Audio Codec Low Complexity
HE-AACならAdvanced Audio Codec Low Complexity with Spectral Band Replication
が取り出せるので判別出来そうです。
Audio;%Format/Info%
だと上のスクショの
Advanced Audio Codec Low Complexityなになに
が取り出せるようでした。
これだとLC AACならAdvanced Audio Codec Low Complexity
HE-AACならAdvanced Audio Codec Low Complexity with Spectral Band Replication
が取り出せるので判別出来そうです。
900デフォルトの名無しさん
2018/09/15(土) 22:08:36.45ID:8KftQgLD901デフォルトの名無しさん
2018/09/15(土) 22:18:17.17ID:8KftQgLD >>899
ところで
http://www.mpeg-audio.org/members/files/DASH_Files/Audio_Only_Stereo_Dash.zip
↑こっからDLできるサンプルファイルで試したところ
AAC-LC/Technology-en-69s-2-lc-64000bps_seg.mp4
と
HE-AAC/Technology-en-69s-2-heaac-64000bps_seg.mp4
は
mediainfoの出力結果で
Audio;FormatではどちらもAAC表示で区別できず
Audio;Format profileでやっと区別できるんだけど,俺の勘違いかな。
ところで
http://www.mpeg-audio.org/members/files/DASH_Files/Audio_Only_Stereo_Dash.zip
↑こっからDLできるサンプルファイルで試したところ
AAC-LC/Technology-en-69s-2-lc-64000bps_seg.mp4
と
HE-AAC/Technology-en-69s-2-heaac-64000bps_seg.mp4
は
mediainfoの出力結果で
Audio;FormatではどちらもAAC表示で区別できず
Audio;Format profileでやっと区別できるんだけど,俺の勘違いかな。
902デフォルトの名無しさん
2018/09/15(土) 22:25:58.84ID:8KftQgLD 何度も投稿してすまん。
これでいいんじゃないかな。
確かめた環境はMediaInfo 0.7.91 on Debian 9.5。
case "$(mediainfo --Inform='Audio;%Format_Profile%' "$FILE")" in
HE*) echo 'HE';;
LC*) echo 'LC';;
esac
これでいいんじゃないかな。
確かめた環境はMediaInfo 0.7.91 on Debian 9.5。
case "$(mediainfo --Inform='Audio;%Format_Profile%' "$FILE")" in
HE*) echo 'HE';;
LC*) echo 'LC';;
esac
903デフォルトの名無しさん
2018/09/15(土) 22:45:32.78ID:pm09nqHo >>896のコード見て思うのは
Unix哲学(を完全に受け入れたわけじゃないが)
9. 全てのプログラムはフィルタとして振る舞うようにせよ。
すべてのプログラムはフィルタとして振る舞うようにしたとして
そのプログラムを使う側もフィルタとして利用するようにすべきだと思うわけよ
つまりね、こういうふうに書くべきじゃないのか?ってこと
mediainfo --Inform='Audio;%Format_Profile%\n' "$FILE" | while IFS= read -r line; do
case $line in
HE*) echo 'HE';;
LC*) echo 'LC';;
esac
done
本当は$FILEの所も"$@"にして複数ファイル対応できるようにしたい。
だけどメディアファイルっていうのはオーディオを複数入れることができるはずだから、
この場合どうなるのか?という疑問がある。その場合はうまくいかないかもしれない。
まあ適切なサンプルファイルを思いつかんし面倒だから試しては見てないが
Unix哲学(を完全に受け入れたわけじゃないが)
9. 全てのプログラムはフィルタとして振る舞うようにせよ。
すべてのプログラムはフィルタとして振る舞うようにしたとして
そのプログラムを使う側もフィルタとして利用するようにすべきだと思うわけよ
つまりね、こういうふうに書くべきじゃないのか?ってこと
mediainfo --Inform='Audio;%Format_Profile%\n' "$FILE" | while IFS= read -r line; do
case $line in
HE*) echo 'HE';;
LC*) echo 'LC';;
esac
done
本当は$FILEの所も"$@"にして複数ファイル対応できるようにしたい。
だけどメディアファイルっていうのはオーディオを複数入れることができるはずだから、
この場合どうなるのか?という疑問がある。その場合はうまくいかないかもしれない。
まあ適切なサンプルファイルを思いつかんし面倒だから試しては見てないが
904デフォルトの名無しさん
2018/09/15(土) 23:39:36.74ID:imSsWev+ みなさんどうもありがとうございます
>>896の時点のコードは以下です
https://pastebin.com/qdNT6iBm
拡張子がaacのファイルがあるディレクトリでこのスクリプトを動かしたらaacファイル全て(ひとつづつ)処理させてます。
>>900-903
明日確認してみます
$ mediainfo --version
MediaInfo Command line,
MediaInfoLib - v18.08.1
以前のバージョンではFormat profile欄があったのでそこで判別してたんですが、いつのまにか(昨日気がつきました)最近のバージョンではFormat profile欄がなくなっているんです。>>878のスクショです
>>896の時点のコードは以下です
https://pastebin.com/qdNT6iBm
拡張子がaacのファイルがあるディレクトリでこのスクリプトを動かしたらaacファイル全て(ひとつづつ)処理させてます。
>>900-903
明日確認してみます
$ mediainfo --version
MediaInfo Command line,
MediaInfoLib - v18.08.1
以前のバージョンではFormat profile欄があったのでそこで判別してたんですが、いつのまにか(昨日気がつきました)最近のバージョンではFormat profile欄がなくなっているんです。>>878のスクショです
905デフォルトの名無しさん
2018/09/15(土) 23:59:46.80ID:8KftQgLD >>904
なるほどね。Debainのaptで入れたやつは古いのか。
$ mediainfo --version
MediaInfo Command line,
MediaInfoLib - v18.08.1
$ mediainfo --Output='Audio;%Format_AdditionalFeatures%' ./Audio_Only_Stereo_Dash/HE-AAC/Technology-en-69s-2-heaac-32000bps_seg.mp4
LC SBR
$ mediainfo --Output='Audio;%Format_AdditionalFeatures%' ./Audio_Only_Stereo_Dash/AAC-LC/Technology-en-69s-2-lc-64000bps_seg.mp4
LC
これは結構見分けやすいんじゃないか?
なるほどね。Debainのaptで入れたやつは古いのか。
$ mediainfo --version
MediaInfo Command line,
MediaInfoLib - v18.08.1
$ mediainfo --Output='Audio;%Format_AdditionalFeatures%' ./Audio_Only_Stereo_Dash/HE-AAC/Technology-en-69s-2-heaac-32000bps_seg.mp4
LC SBR
$ mediainfo --Output='Audio;%Format_AdditionalFeatures%' ./Audio_Only_Stereo_Dash/AAC-LC/Technology-en-69s-2-lc-64000bps_seg.mp4
LC
これは結構見分けやすいんじゃないか?
906デフォルトの名無しさん
2018/09/16(日) 00:12:32.41ID:ynEgKPZ+ >>904
ちょっと訊きたいんだけど,MPEG4のLCとHEの違いってSBRが適用されてるかいなかの差?
もしそうならまさにそのオプションがあって
mediainfo --Output='Audio;%Format_Settings_SBR%'
↑これは,SBRが含まれていれば“Yes (Explicit)”,含まれていなけば空文字を返す。
ちょっと訊きたいんだけど,MPEG4のLCとHEの違いってSBRが適用されてるかいなかの差?
もしそうならまさにそのオプションがあって
mediainfo --Output='Audio;%Format_Settings_SBR%'
↑これは,SBRが含まれていれば“Yes (Explicit)”,含まれていなけば空文字を返す。
907デフォルトの名無しさん
2018/09/16(日) 00:17:30.07ID:6L484PJq >>904
> >>896の時点のコードは以下です
> https://pastebin.com/qdNT6iBm
つまらん。特に指摘する点はない。
細かい趣味程度のことぐらいだな。
ファイルは引数で渡したほうがいいんじゃね?とか
俺ならset -eu -o pipefailをつけるとか
(一行で書く場合を除いて)コマンドの後ろの ;; は嫌いだとか
> >>896の時点のコードは以下です
> https://pastebin.com/qdNT6iBm
つまらん。特に指摘する点はない。
細かい趣味程度のことぐらいだな。
ファイルは引数で渡したほうがいいんじゃね?とか
俺ならset -eu -o pipefailをつけるとか
(一行で書く場合を除いて)コマンドの後ろの ;; は嫌いだとか
908デフォルトの名無しさん
2018/09/16(日) 01:08:58.79ID:dyBKzwHe 大先生かよw
909デフォルトの名無しさん
2018/09/16(日) 01:22:39.05ID:6L484PJq ちーす
910デフォルトの名無しさん
2018/09/16(日) 13:43:22.79ID:dTju3huw ネタフリ、これ前に紹介したことあったっけ?
modernish: a shell moderniser library
https://github.com/modernish/modernishhttps://github.com/modernish/modernish#modernish-a-shell-moderniser-library
良さそうなことを書いてあるが、大きすぎて、それでいて何ができるのかよくわからない
ようするに誰か日本語で簡潔に解説してくれとw
modernish: a shell moderniser library
https://github.com/modernish/modernishhttps://github.com/modernish/modernish#modernish-a-shell-moderniser-library
良さそうなことを書いてあるが、大きすぎて、それでいて何ができるのかよくわからない
ようするに誰か日本語で簡潔に解説してくれとw
911デフォルトの名無しさん
2018/09/16(日) 21:03:29.36ID:ynEgKPZ+ 変な人が二人いるせいで質問者が帰っちゃったじゃん。せっかく良い案を思いついたのに。
912デフォルトの名無しさん
2018/09/16(日) 23:14:50.58ID:dTju3huw いや、気にせず書けよw
また見るかもしれないじゃん
また見るかもしれないじゃん
913デフォルトの名無しさん
2018/09/16(日) 23:27:44.88ID:ynEgKPZ+ もう書いてるよw
914デフォルトの名無しさん
2018/09/17(月) 09:30:58.79ID:yJ/mJYoq 二人いるんじゃなくて、同一人物なんじゃ?
例の人、プロバイダー2つ契約してて自演に使ってるんだし。
例の人、プロバイダー2つ契約してて自演に使ってるんだし。
915デフォルトの名無しさん
2018/09/19(水) 03:32:21.41ID:6Ke1Nn09 引用符を除去するいい方法ってないかな。
個人的には変数の仕様("abc"はabcとみなされる)とかを利用してエレガントに解決できるんじゃないかと思ってるんだけど うまくいかん。
いまのところsed -e 's/"\([^"]+\)"/\1'で問題はないけれど「\"」の形のエスケープに対応したりするのが面倒になってくるんだよね この形だと。
個人的には変数の仕様("abc"はabcとみなされる)とかを利用してエレガントに解決できるんじゃないかと思ってるんだけど うまくいかん。
いまのところsed -e 's/"\([^"]+\)"/\1'で問題はないけれど「\"」の形のエスケープに対応したりするのが面倒になってくるんだよね この形だと。
916デフォルトの名無しさん
2018/09/19(水) 04:43:37.82ID:ScWhkKn/ a='"aa\"a"'
eval echo "$a" とか eval "b=$a"
じゃだめ?
おまけ、最近のbashには以下のような変数展開が
増えているけど今回は関係なさそう
${parameter@A}
${parameter@E}
${parameter@P}
${parameter@Q}
eval echo "$a" とか eval "b=$a"
じゃだめ?
おまけ、最近のbashには以下のような変数展開が
増えているけど今回は関係なさそう
${parameter@A}
${parameter@E}
${parameter@P}
${parameter@Q}
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【独自】渡邊渚さんを脅迫の疑いで32歳女を書類送検 警視庁 渡邊さんの写真集に包丁置いた写真を投稿 [ひかり★]
- 中国 東アジアの海域に過去最大規模 100隻超の艦船を展開 高市総理の発言に反発か [Hitzeschleier★]
- 【速報】山本由伸のWBC欠場決定! [牛丼★]
- 「さようなら日本。帰国します」経営ビザで中国系「ペーパー会社」大阪で乱立、移民ビジネスの仕組み…500社超で取締役の日本側協力者も [ぐれ★]
- トランプ米大統領、「台湾保証実行法案」に署名 法案提出議員「支配しようとする中国に我々が断固として立ち向かう」 [お断り★]
- 米国、ホワイトカラーよりブルーカラーが重視される社会になってしまう、AIの影響で25年大卒者は就職難に直面 [お断り★]
- 【悲報】高市「G7に中国呼ぶのやめろ!!!」 [834922174]
- 高市早苗「赤沢大臣はカブトムシみたいな顔してるw」 [856698234]
- 11インチタブレットが16999円。迷わず買え。ラストチャンスだ。 [422186189]
- 【悲報】渡邊渚に殺害予告した中居正広ファン逮捕 [455031798]
- 長期国債の金利、一時1.95%。日本、終わったな [805596214]
- 東京の某高級タワマン、エレベーターに人糞騒ぎwwwwwwwwwwwwww [329329848]
