!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
シェルスクリプトに関する総合スレッドです。
スレ立て時は以下の文を先頭行に加えて下さい。
後のつけ忘れ防止の為に複数行重ねて追加推奨
!extend:on:vvvvv:1000:512
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ
シェルスクリプト総合 その28
http://mevius.5ch.net/test/read.cgi/tech/1532397676/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
シェルスクリプト総合 その29
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 3efb-m2E0)
2018/09/22(土) 11:53:21.38ID:BBiLRgnj0117デフォルトの名無しさん (ワッチョイ 5764-u1F+)
2018/10/02(火) 21:45:46.37ID:yoF3UpeG0 おいこら答えてやったんだからなんとか言えよコラ
エレガントすぎて腰が抜けたか?wwwww
まあ実際,自分で言うのもなんだけどかなり最良に近い方法じゃないかしら。
・POSIX.1-2017準拠
・空白などを含む引数も直感的に指定可能("word with space")
・単純 構造が簡単
・数値の増加にexpr(1)ではなく算術式を利用している為速い
エレガントすぎて腰が抜けたか?wwwww
まあ実際,自分で言うのもなんだけどかなり最良に近い方法じゃないかしら。
・POSIX.1-2017準拠
・空白などを含む引数も直感的に指定可能("word with space")
・単純 構造が簡単
・数値の増加にexpr(1)ではなく算術式を利用している為速い
118デフォルトの名無しさん (ワッチョイ 1723-sl6K)
2018/10/02(火) 22:03:54.77ID:kkfm+1S90 変数禁止だから不正解じゃない?
119デフォルトの名無しさん (ワッチョイ bf3b-c77k)
2018/10/02(火) 22:15:20.79ID:xDUI5Isc0120デフォルトの名無しさん (アウアウカー Saab-HGqR)
2018/10/02(火) 23:00:16.05ID:xTxFBCr4a 最初の一個だけならスマートだったのに
褒められたがりが
褒められたがりが
121デフォルトの名無しさん (ワッチョイ 5764-u1F+)
2018/10/03(水) 00:30:44.79ID:ej0n10jM0 煽りだよ だって明らかに学校の課題かなにかでしょ。
そんなのに真面目に付き合うほど俺は素直じゃない。
そんなのに真面目に付き合うほど俺は素直じゃない。
122デフォルトの名無しさん (ワッチョイ bf3b-c77k)
2018/10/03(水) 00:44:57.49ID:m57KKa9e0 苦しすぎな言い訳w
123デフォルトの名無しさん (ワッチョイ 5764-u1F+)
2018/10/03(水) 01:48:10.18ID:ej0n10jM0 まあそう思っとけw
124デフォルトの名無しさん (ワッチョイ bf9f-aemA)
2018/10/03(水) 01:59:13.13ID:jikKostS0 >>115
echo は使っては駄目? 拡張されていない sh だと echo はビルトインではなく /usr/bin/echo だと思うが。
echo は使っては駄目? 拡張されていない sh だと echo はビルトインではなく /usr/bin/echo だと思うが。
125デフォルトの名無しさん (ワッチョイ 1798-aemA)
2018/10/03(水) 02:01:17.96ID:NkO7phbc0126デフォルトの名無しさん (ワッチョイ 1798-aemA)
2018/10/03(水) 02:03:27.25ID:NkO7phbc0127デフォルトの名無しさん (ワッチョイ 1798-aemA)
2018/10/03(水) 02:14:54.02ID:NkO7phbc0 そうか。evalとか外部コマンドは実装不可能なものを除いて
ビルトインで実装することなんて決まりはないのか
では外部コマンドの定義を「現存するシェルでビルトインで実装されたことがないもの」にしよう
オレオレシェル作ってビルトインするのは問題の意図から外れるので、
現存する(誰もが容易に入手可能な)いずれかのシェルで
ビルトインされているならば使って良いものとする
ビルトインで実装することなんて決まりはないのか
では外部コマンドの定義を「現存するシェルでビルトインで実装されたことがないもの」にしよう
オレオレシェル作ってビルトインするのは問題の意図から外れるので、
現存する(誰もが容易に入手可能な)いずれかのシェルで
ビルトインされているならば使って良いものとする
128デフォルトの名無しさん (ワッチョイ 1798-aemA)
2018/10/03(水) 02:18:56.23ID:NkO7phbc0 あと拡張POSIX機能も使用してOKにしよう。
それを実現する裏技みたいなのがあったら嫌だなと思って入れたが、
もしそれでできるなら俺も勉強になるし。
ようするにPATH環境変数を空にして、どれかのシェルで動けばOKってことだな
条件がグダグダになってしまったw
それを実現する裏技みたいなのがあったら嫌だなと思って入れたが、
もしそれでできるなら俺も勉強になるし。
ようするにPATH環境変数を空にして、どれかのシェルで動けばOKってことだな
条件がグダグダになってしまったw
129デフォルトの名無しさん (アウアウカー Saab-XaUO)
2018/10/03(水) 12:27:47.15ID:61GCF4dla if や while を外部コマンド動かさずに使うには [ がビルトインのシェルでないとダメだな。
昔の sh は [ が test コマンドへのシンボリックリンクで外部コマンドだったし。
今でもその名残で /bin または /usr/bin に [ が入ってるよな。
昔の sh は [ が test コマンドへのシンボリックリンクで外部コマンドだったし。
今でもその名残で /bin または /usr/bin に [ が入ってるよな。
130デフォルトの名無しさん (ワッチョイ 1798-aemA)
2018/10/03(水) 13:43:00.79ID:NkO7phbc0 別件で現在主要のシェルで何がビルトインか調べたことがあるよ
. : [ break cd command continue echo eval exec exit export false kill pwd
read readonly return set shift test times trap true umask unset wait
これらは全てのシェルで使えると言っていいだろう
poshはログインシェルとしては使わないもの扱いなのか
alias bg fg type ulimitが削除されている。(typeないとか地味につらい)
busyboxはgetoptsがないみたい
意外だったのはprintfがビルトインでないシェルがmkshとposhの2つもあったこと。
しかも両方共echoでエスケープシーケンスを解釈してくれるから文字をそのまま出力できない。
mkshの方はset -o posixでエスケープシーケンスを無効にできるしビルトインのprintで代用できるんだが
poshは調べた限りビルトインコマンドでそのまま出力する方法がない
. : [ break cd command continue echo eval exec exit export false kill pwd
read readonly return set shift test times trap true umask unset wait
これらは全てのシェルで使えると言っていいだろう
poshはログインシェルとしては使わないもの扱いなのか
alias bg fg type ulimitが削除されている。(typeないとか地味につらい)
busyboxはgetoptsがないみたい
意外だったのはprintfがビルトインでないシェルがmkshとposhの2つもあったこと。
しかも両方共echoでエスケープシーケンスを解釈してくれるから文字をそのまま出力できない。
mkshの方はset -o posixでエスケープシーケンスを無効にできるしビルトインのprintで代用できるんだが
poshは調べた限りビルトインコマンドでそのまま出力する方法がない
131デフォルトの名無しさん (ワッチョイ bf3b-c77k)
2018/10/03(水) 13:47:38.74ID:m57KKa9e0 いいから、お題の参考答えを出しなさいw
オレオレ定義が曖昧すぎでお題になってないから、もういいでしょ
オレオレ定義が曖昧すぎでお題になってないから、もういいでしょ
132デフォルトの名無しさん (ワッチョイ 1798-aemA)
2018/10/03(水) 13:57:02.54ID:NkO7phbc0 >>131
問題訂正してやるから、もう少し頑張れやw
お題
ある関数に対して、apple orange banana ... とN個(Nは任意の個数)の引数を渡した時、
以下のような、引数とその引数のインデックス番号を出力する関数を作成せよ
(単語に対して数値が対応しているわけではない)
apple 1
orange 2
banana 3
:
ただし、変数の使用は禁止とし、シェル機能とビルトインコマンドのみを用いること
(ここでいう変数とはsetコマンドで表示されるもののことである)
(使用するコマンドはいずれかのシェルのビルトインコマンドであればよいが、
この問題用に独自シェルを作成するのは禁止とする)
問題訂正してやるから、もう少し頑張れやw
お題
ある関数に対して、apple orange banana ... とN個(Nは任意の個数)の引数を渡した時、
以下のような、引数とその引数のインデックス番号を出力する関数を作成せよ
(単語に対して数値が対応しているわけではない)
apple 1
orange 2
banana 3
:
ただし、変数の使用は禁止とし、シェル機能とビルトインコマンドのみを用いること
(ここでいう変数とはsetコマンドで表示されるもののことである)
(使用するコマンドはいずれかのシェルのビルトインコマンドであればよいが、
この問題用に独自シェルを作成するのは禁止とする)
133デフォルトの名無しさん (ワッチョイ bf3b-c77k)
2018/10/03(水) 13:59:49.96ID:m57KKa9e0 なんの目的かさっぱりわからんな。自分でできてんの?っていう疑問からなんだけどなw
>変数の使用は禁止とし
>(ここでいう変数とはsetコマンドで表示されるもののことである)
環境変数のことを言っているのかと思えば違うし、これだけでも曖昧というかオレオレ定義が曖昧だろう
>変数の使用は禁止とし
>(ここでいう変数とはsetコマンドで表示されるもののことである)
環境変数のことを言っているのかと思えば違うし、これだけでも曖昧というかオレオレ定義が曖昧だろう
134デフォルトの名無しさん (ワッチョイ 1798-aemA)
2018/10/03(水) 14:11:05.97ID:NkO7phbc0135デフォルトの名無しさん (ワッチョイ 1798-aemA)
2018/10/03(水) 14:13:32.35ID:NkO7phbc0 今日の24時までに答えが出なければヒント出しますw
136デフォルトの名無しさん (ワッチョイ f723-LrZ5)
2018/10/03(水) 14:16:57.73ID:6m7pNgyW0 そのヒントとやらもグダグダなんでしょw
137デフォルトの名無しさん (ワッチョイ bf3b-c77k)
2018/10/03(水) 14:17:05.40ID:m57KKa9e0 変数を使わない 言語(マシン語すら) は知らんなあ。そういう縛りを設けての目的はなんなん?
やってみたできるけど、クソのようなwにしかならんから、どうか、参考の答えを出してw
やってみたできるけど、クソのようなwにしかならんから、どうか、参考の答えを出してw
138デフォルトの名無しさん (ワッチョイ 1798-aemA)
2018/10/03(水) 14:19:23.20ID:NkO7phbc0 答えは明日。まあヒントみれば気づく人はすぐわかるでしょう。
コロンブスの卵だよ
コロンブスの卵だよ
139デフォルトの名無しさん (ワッチョイ bf3b-c77k)
2018/10/03(水) 14:20:30.02ID:m57KKa9e0 なんで常時上から目線なのかw コードで語ればいいのに
素晴らしいコードならそんなおれおれ上から目線しなくてもいいくらいなのに。なんかしらんがもったいつけてのまだ「ヒント」とかもったいつけてるしw
素晴らしいコードならそんなおれおれ上から目線しなくてもいいくらいなのに。なんかしらんがもったいつけてのまだ「ヒント」とかもったいつけてるしw
140デフォルトの名無しさん (ワッチョイ bf3b-c77k)
2018/10/03(水) 14:21:39.64ID:m57KKa9e0 なんかしらんが見つけて、俺すげーしたいだけっぽいなw
141デフォルトの名無しさん (ワッチョイ 1798-aemA)
2018/10/03(水) 14:22:11.11ID:NkO7phbc0 > そういう縛りを設けての目的はなんなん?
その理由も答えと一緒に明かします
その理由も答えと一緒に明かします
142デフォルトの名無しさん (ワッチョイ bf3b-c77k)
2018/10/03(水) 14:23:23.18ID:m57KKa9e0 いや、もういらんわw なんかキモすぎて付き合いきれないw
143デフォルトの名無しさん (ワッチョイ 5764-u1F+)
2018/10/03(水) 14:36:43.15ID:ej0n10jM0 多分だけど学校の課題だと予想
根拠は二点:
1. 問題が実利的でない。学校(それもあまり学力の高くない)にありがちな「こんなのできるかな?」系の問題である。
2. 煽ったらそれに乗っかって答えを出してくれる人が思ってるという点で質問者が精神的に幼ない。(高校生くらいか?)
根拠は二点:
1. 問題が実利的でない。学校(それもあまり学力の高くない)にありがちな「こんなのできるかな?」系の問題である。
2. 煽ったらそれに乗っかって答えを出してくれる人が思ってるという点で質問者が精神的に幼ない。(高校生くらいか?)
144デフォルトの名無しさん (ワッチョイ bf3b-c77k)
2018/10/03(水) 14:45:22.66ID:m57KKa9e0 posh とかいつもの人でしょ
いつもの人が学校の課題をしなきゃならん人なのか知らんけどw
いつもの人が学校の課題をしなきゃならん人なのか知らんけどw
145デフォルトの名無しさん (ワッチョイ 5764-u1F+)
2018/10/03(水) 15:06:30.08ID:ej0n10jM0 poshなんていうシェルがあるのね。初耳だわ。
146デフォルトの名無しさん (ワッチョイ 1798-aemA)
2018/10/03(水) 15:10:04.24ID:NkO7phbc0 >>2に書いてあるよ。俺もここ(の何スレか前)で初めて知った
147デフォルトの名無しさん (アウアウカー Saab-XaUO)
2018/10/03(水) 15:58:50.21ID:4kFnpcnsa $# と shift を使って逆順に値を付加することは簡単にできたんだがな。
148デフォルトの名無しさん (ワッチョイ 1798-aemA)
2018/10/03(水) 17:25:26.25ID:NkO7phbc0149デフォルトの名無しさん (ワッチョイ 9fb3-lCNR)
2018/10/03(水) 21:20:26.89ID:SM8JpmZX0 ちょっと前にもこんなグダグダ無かったっけ?
150デフォルトの名無しさん (アウウィフ FFdb-LSDD)
2018/10/03(水) 21:48:53.18ID:Tma5IQlaF 変数使ってはダメって、非合理的でない?
シェルの仕様否定してどーするの?
外部コマンドだって、それがUNIXの設計思想なんだからそれさえも否定するってのも理解不能
ならば、OSそのものを仮想的なものを仮定して
その上で動かすとでもしないと
大昔の情報処理技術者試験用に作られたアセンブラみたいな感じでさ
変数使わない、外部コマンド使用禁止、そんなアルゴリズムが何の役に立つんだろう?
シェルの仕様否定してどーするの?
外部コマンドだって、それがUNIXの設計思想なんだからそれさえも否定するってのも理解不能
ならば、OSそのものを仮想的なものを仮定して
その上で動かすとでもしないと
大昔の情報処理技術者試験用に作られたアセンブラみたいな感じでさ
変数使わない、外部コマンド使用禁止、そんなアルゴリズムが何の役に立つんだろう?
151デフォルトの名無しさん (ワッチョイ 5764-u1F+)
2018/10/03(水) 22:35:14.41ID:ej0n10jM0 でも前はワッチョイやIDがなかったから もっと酷かった。
今はNGすればオッケー☆
今はNGすればオッケー☆
152デフォルトの名無しさん (ワッチョイ 1e98-vBoO)
2018/10/04(木) 00:37:38.01ID:8ua9ZMtc0 ヒント忘れてたわw
func() {
*********
while [ $# -gt 1 ]; do
*********
shift
done
}
func apple orange banana
********の所は1行とは限りません
func() {
*********
while [ $# -gt 1 ]; do
*********
shift
done
}
func apple orange banana
********の所は1行とは限りません
153デフォルトの名無しさん (ワッチョイ 1e98-vBoO)
2018/10/04(木) 00:41:45.65ID:8ua9ZMtc0154デフォルトの名無しさん (ワッチョイ 1e98-vBoO)
2018/10/04(木) 00:43:44.36ID:8ua9ZMtc0155デフォルトの名無しさん (ワッチョイ 1e98-vBoO)
2018/10/04(木) 00:46:12.13ID:8ua9ZMtc0156デフォルトの名無しさん (ワッチョイ effb-v2gR)
2018/10/04(木) 00:49:17.75ID:C6pwZkBD0 いきなりレス数増えたと思ったらもう木曜か
157デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/04(木) 04:55:02.39ID:/YMF27MO0 >>152よ、お前のなかでは「$#」は変数じゃないのか……。
人様にクイズとやらを出す前にシェルとはなんなのかを学んだらどうだ?
人様にクイズとやらを出す前にシェルとはなんなのかを学んだらどうだ?
158デフォルトの名無しさん (ワッチョイ 1e98-vBoO)
2018/10/04(木) 05:43:44.35ID:8ua9ZMtc0 出題ぐらいちゃんと読もうぜw
> ただし、変数の使用は禁止とし、シェル機能とビルトインコマンドのみを用いること
> (ここでいう変数とはsetコマンドで表示されるもののことである)
> ただし、変数の使用は禁止とし、シェル機能とビルトインコマンドのみを用いること
> (ここでいう変数とはsetコマンドで表示されるもののことである)
159デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/04(木) 08:51:53.43ID:/YMF27MO0 bash 4.2以降はset組み込みコマンドの中に$#が含まれるようになったんだよなぁ…
ちゃんと調べて、どうぞ。
ちゃんと調べて、どうぞ。
160デフォルトの名無しさん (ワッチョイ 1e98-vBoO)
2018/10/04(木) 09:17:07.53ID:8ua9ZMtc0 ないですね。ちゃんと調べてどうぞ
foo() { set | grep '#='; }; foo
$ bash --version
GNU bash, バージョン 4.4.19(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2016 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 またはそれ以降 <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
foo() { set | grep '#='; }; foo
$ bash --version
GNU bash, バージョン 4.4.19(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2016 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 またはそれ以降 <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
161デフォルトの名無しさん (アウアウカー Sa0a-iYeS)
2018/10/04(木) 09:50:29.05ID:8DudSISka >>160
grap のパターンはそれでいいのか?
grap のパターンはそれでいいのか?
162デフォルトの名無しさん (ワッチョイ 1e98-vBoO)
2018/10/04(木) 10:01:44.50ID:8ua9ZMtc0163デフォルトの名無しさん (アウアウカー Sa0a-iYeS)
2018/10/04(木) 10:47:30.53ID:8DudSISka ああ。そうか。最初の$は要らないからそれでいいのか。
164デフォルトの名無しさん (ワッチョイ deb3-GavF)
2018/10/04(木) 14:55:58.09ID:7ib5/eAS0 grap コマンドか、なんか強うそうなイメージ
165デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/04(木) 16:22:52.78ID:/YMF27MO0 なんかもう誰かが作ってそうだよね。
まるでyaから始まる4文字のソフトウェアが被りまくってるように。
まるでyaから始まる4文字のソフトウェアが被りまくってるように。
166デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/04(木) 16:55:15.20ID:8ua9ZMtc0 犯人はya
167デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/04(木) 20:00:19.77ID:8ua9ZMtc0 正解者もいないようなのででは解答
このコードがどういうときに有用かは>>153で書いたとおり
set は使わなくても別にもう一つ関数を作れば同じことができるが
関数を作らずとも引数の再設定という方法がある。意外と便利だよ
func() {
set -- "$@" $(($#+2))
while [ $# -gt 1 ]; do
eval "echo \"$1 \$((\$$#-$#))\""
shift
done
}
func apple orange banana
このコードがどういうときに有用かは>>153で書いたとおり
set は使わなくても別にもう一つ関数を作れば同じことができるが
関数を作らずとも引数の再設定という方法がある。意外と便利だよ
func() {
set -- "$@" $(($#+2))
while [ $# -gt 1 ]; do
eval "echo \"$1 \$((\$$#-$#))\""
shift
done
}
func apple orange banana
168デフォルトの名無しさん (ワッチョイ ae3b-Nzta)
2018/10/04(木) 20:11:54.69ID:n5lIiyiD0 そんなクソなコードを意気揚々としてあげてるけどさ、なんか変数被るからというもっともらしい言い訳してたけど、なるべく変数使わないように書くわけだ、これから。ほーっw。そんなのクソだな、個人的にw
なんでそういうお題をそんな俺偉いじゃなくてできないのかな。よほどそれを出すのに時間かかったとか??
なんでそういうお題をそんな俺偉いじゃなくてできないのかな。よほどそれを出すのに時間かかったとか??
169デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/04(木) 20:12:23.41ID:8ua9ZMtc0 はい。想定通りのレスだね。
言い訳だけは一人前w
言い訳だけは一人前w
170デフォルトの名無しさん (ワッチョイ ae3b-Nzta)
2018/10/04(木) 20:13:26.14ID:n5lIiyiD0 いや、ふつうわかるだろう。まあ、かなり頑張って出したんだね、やっぱりw
171デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/04(木) 20:14:13.91ID:8ua9ZMtc0 じゃあもう一問。そんなに言うなら次は答えてね
172デフォルトの名無しさん (ワッチョイ ae3b-Nzta)
2018/10/04(木) 20:15:02.61ID:n5lIiyiD0 だから、なんでそんな上から目線なのよ
んなのに付き合うと思ってるの?あんた自体が上から目線でモノ言われたらすぐ反発するくせにww
んなのに付き合うと思ってるの?あんた自体が上から目線でモノ言われたらすぐ反発するくせにww
173デフォルトの名無しさん (ワッチョイ ae3b-Nzta)
2018/10/04(木) 20:18:43.51ID:n5lIiyiD0 いや、上から目線じゃなくても反論されたらかwww
174デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/04(木) 20:20:37.56ID:8ua9ZMtc0 >>172
お前はこのおっさんと同じ種類の人間だろうな
相手が下だと思って接してるやつ。
まずお前が上から目線を止めたら?
https://togetter.com/li/1175445
おっさんがタメ語で聞いてきたからタメ語で返したらショックを受けてた。敬意が返ってくると思ってる日本のおっさんって不思議。
お前はこのおっさんと同じ種類の人間だろうな
相手が下だと思って接してるやつ。
まずお前が上から目線を止めたら?
https://togetter.com/li/1175445
おっさんがタメ語で聞いてきたからタメ語で返したらショックを受けてた。敬意が返ってくると思ってる日本のおっさんって不思議。
175デフォルトの名無しさん (ワッチョイ ae3b-Nzta)
2018/10/04(木) 20:24:38.91ID:n5lIiyiD0 いや、お前に合わせているだけだな。さすが常時上から目線なんかしらんが常時上に立ちたいの人は言うことが違うなw
176デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/04(木) 20:27:29.69ID:8ua9ZMtc0 上にたってるつもりはないんですが、上に見えちゃうんですかね?w
悪い奴らが「正義の味方のつもりかよwww」って
笑ってるようなシーンがあるけど、あれも悪い奴らに
正義に見えてるからそう言うんでしょうねぇ
悪い奴らが「正義の味方のつもりかよwww」って
笑ってるようなシーンがあるけど、あれも悪い奴らに
正義に見えてるからそう言うんでしょうねぇ
177デフォルトの名無しさん (ワッチョイ ae3b-Nzta)
2018/10/04(木) 20:28:28.79ID:n5lIiyiD0 忘れているのか常時上に立っているつもりで気がつけないwのか知らんが、ID:8ua9ZMtc0 の上から目線なレスに対しての俺のレスでしかないよ
なので、その得意げの>>174はそっくりそのままあんたにお返しいたします
なので、その得意げの>>174はそっくりそのままあんたにお返しいたします
178デフォルトの名無しさん (ワッチョイ ae3b-Nzta)
2018/10/04(木) 20:29:44.58ID:n5lIiyiD0 あーあ、病気なのか社会性がないのか話にならんな。まあ、いつもの無理やりなごまかしモードかな?w
179デフォルトの名無しさん (ワッチョイ 9c03-GavF)
2018/10/04(木) 20:33:31.45ID:vhCji18k0 目くそ鼻くそに上も下もないわwwww
180デフォルトの名無しさん (ワッチョイ ae3b-Nzta)
2018/10/04(木) 20:34:30.94ID:n5lIiyiD0 やかましいわっw
181デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/04(木) 20:50:21.03ID:8ua9ZMtc0 これはある意味有名だから簡単だと思う
お題
ある関数に対して1以上の整数Nを引数にして呼び出した時、
1からNまでを出力する関数を作成せよ(要するにseqコマンドの簡易版)
seq 5
1
2
3
4
5
:
ただし、シェルビルトイン関数のみを使い、変数の使用は禁止とする
(ここでいう変数とはsetコマンドで表示されるもののことである)
お題
ある関数に対して1以上の整数Nを引数にして呼び出した時、
1からNまでを出力する関数を作成せよ(要するにseqコマンドの簡易版)
seq 5
1
2
3
4
5
:
ただし、シェルビルトイン関数のみを使い、変数の使用は禁止とする
(ここでいう変数とはsetコマンドで表示されるもののことである)
182デフォルトの名無しさん (ワッチョイ 9c03-GavF)
2018/10/04(木) 20:52:49.73ID:vhCji18k0 >>181
調子にのるな鼻くそ
調子にのるな鼻くそ
183デフォルトの名無しさん (アウアウカー Sa0a-iYeS)
2018/10/04(木) 21:39:22.36ID:sVn7z6Qaa184デフォルトの名無しさん (ワッチョイ 7ab3-H3tq)
2018/10/04(木) 23:11:17.39ID:4+O8yrpt0 こいつ構わん方がいいゼ、俺スゲーしたいだけだから
185デフォルトの名無しさん (アウアウカー Sa0a-v2gR)
2018/10/04(木) 23:14:04.78ID:GYhkNq19a レス番飛び過ぎにも程があるだろ
まぁいつもの長文だらだら流して悦に浸ってるんだろうが
まぁいつもの長文だらだら流して悦に浸ってるんだろうが
186デフォルトの名無しさん (ワッチョイ ae3b-Nzta)
2018/10/04(木) 23:32:35.30ID:n5lIiyiD0 >>183
http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
2004の時点であるらしい。++と--は任意。sizeof()なんてあるのかよっ
http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
2004の時点であるらしい。++と--は任意。sizeof()なんてあるのかよっ
187デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/04(木) 23:46:42.45ID:/YMF27MO0 >>181
これは興味から訊くんだけど,
「(POSIXの範囲では)変数の局所化ができないので
変数をなるべく使わないべき」
という主張は理解できるし,俺自身もそう思う。
しかしシェルビルトイン関数しか使わず,例えば
sed(1)やawk(1)など目的に合った有用なコマンドを用いない理由はなんだ?
ただの趣味?
これは興味から訊くんだけど,
「(POSIXの範囲では)変数の局所化ができないので
変数をなるべく使わないべき」
という主張は理解できるし,俺自身もそう思う。
しかしシェルビルトイン関数しか使わず,例えば
sed(1)やawk(1)など目的に合った有用なコマンドを用いない理由はなんだ?
ただの趣味?
188デフォルトの名無しさん (ワッチョイ 969f-vBoO)
2018/10/05(金) 01:23:25.22ID:x9IT1j0q0 >>181
$(( )) での計算をしていいなら簡単だよ。
#!/bin/bash
f() {
if [[ $1 -gt 0 ]]; then
f $(( $1 - 1 ))
echo $1
fi
}
f $1
$(( )) での計算をしていいなら簡単だよ。
#!/bin/bash
f() {
if [[ $1 -gt 0 ]]; then
f $(( $1 - 1 ))
echo $1
fi
}
f $1
189デフォルトの名無しさん (ワッチョイ 969f-vBoO)
2018/10/05(金) 01:24:51.76ID:x9IT1j0q0 >>186
そうだったのか。
そうだったのか。
190デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/05(金) 02:53:44.46ID:bSHFQ9XI0 >>187
現実的なポータビリティと速度のため
POSIXの範囲でやれば、シェルが異なっても動くことが期待できる
だけど現実的にはすべての環境がPOSIXに準拠してるわけではない
特にbusyboxは組み込み向けに必要最小限の機能に減らせるから
sedやawkすらない環境というのもあり得るだろう
そしてもう一つforkは遅い。WSL上だと目に見えて遅い
以下のコードをWSLで実行すると約25秒かかる。fork一回あたり2.5ミリ秒
Linuxだと約2秒。fork1回あたり2ミリ秒。10倍以上の差がある
i=0
while [ $i -lt 10000 ]; do
( :; )
i=$((i+1))
done
この()を外すとWSL上で0.05秒にまで減る。コマンド実行のオーバーヘッドに
埋もれてしまってよくわからないので、10,000から1,000,000から増やすと約1.7秒
つまり一回あたり0.0017ミリ秒。この値はLinuxでも変わらない
外部コマンドの実行でもforkが行われるから
Linux・・・0.0017ミリ秒 → 2ミリ秒 (約1176倍)
WSL・・・0.0017ミリ秒 → 25ミリ秒 (約14706倍)
と大幅に速度が落ちる。シェルスクリプトが遅いと言われる原因の一つ
現実的なポータビリティと速度のため
POSIXの範囲でやれば、シェルが異なっても動くことが期待できる
だけど現実的にはすべての環境がPOSIXに準拠してるわけではない
特にbusyboxは組み込み向けに必要最小限の機能に減らせるから
sedやawkすらない環境というのもあり得るだろう
そしてもう一つforkは遅い。WSL上だと目に見えて遅い
以下のコードをWSLで実行すると約25秒かかる。fork一回あたり2.5ミリ秒
Linuxだと約2秒。fork1回あたり2ミリ秒。10倍以上の差がある
i=0
while [ $i -lt 10000 ]; do
( :; )
i=$((i+1))
done
この()を外すとWSL上で0.05秒にまで減る。コマンド実行のオーバーヘッドに
埋もれてしまってよくわからないので、10,000から1,000,000から増やすと約1.7秒
つまり一回あたり0.0017ミリ秒。この値はLinuxでも変わらない
外部コマンドの実行でもforkが行われるから
Linux・・・0.0017ミリ秒 → 2ミリ秒 (約1176倍)
WSL・・・0.0017ミリ秒 → 25ミリ秒 (約14706倍)
と大幅に速度が落ちる。シェルスクリプトが遅いと言われる原因の一つ
191デフォルトの名無しさん (ワッチョイ d980-A6IM)
2018/10/05(金) 02:58:21.89ID:elz6X2140 なんもわかってない低学歴知恵遅れが
はりきってしょうもないwsl使ってキャッキャッいってるわけか
なるほどなるほど
wsl使ってるのなんかニートぐらいしかいないわ
マジで
はりきってしょうもないwsl使ってキャッキャッいってるわけか
なるほどなるほど
wsl使ってるのなんかニートぐらいしかいないわ
マジで
192デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/05(金) 03:00:21.47ID:bSHFQ9XI0 >>188
やっぱり簡単だったかw
再帰を使うやり方で関数型言語ではおなじみの問題
もちろんシェルスクリプトは関数型ではないし
末尾最適化も行われないのでどうしても遅くなる
さすがにこれは変数使ったほうが良いかな思ったw
他にも問題を作れそうなネタのはいくつかあるんで
気が向いたらまた問題にしてみるよ
やっぱり簡単だったかw
再帰を使うやり方で関数型言語ではおなじみの問題
もちろんシェルスクリプトは関数型ではないし
末尾最適化も行われないのでどうしても遅くなる
さすがにこれは変数使ったほうが良いかな思ったw
他にも問題を作れそうなネタのはいくつかあるんで
気が向いたらまた問題にしてみるよ
193デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/05(金) 03:01:11.86ID:bSHFQ9XI0194デフォルトの名無しさん (ワッチョイ 7ab3-H3tq)
2018/10/05(金) 03:25:46.03ID:98l9MfY+0 実用的じゃないもの書いてるうちは似非の技術者じゃの
195デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/05(金) 03:52:16.47ID:DwOdckeN0196デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/05(金) 08:48:03.27ID:bSHFQ9XI0 >>195
ストリーミング指向と制御文はあまり関係ないと思うよ
流れてくるものに対してなにか処理をしたいなら必ず
制御文を使うことになるし
ストリーミング指向の話をするなら、関数呼び出しし結果の標準出力を
変数にキャプチャするっていうのはストリーミング指向と反してると思う
例えば result=$(command "$data") みたいな形のことね
俺もこの書き方はなるべく避けるようになった
ストリーミング指向的には echo "$data" | command | 別のなにか
とするほうが良いだろう
ただ気づいたのがこの形だとサブシェルになってしまうから、
commandや別のなにかから、呼び出しの起点にデータを戻すことが
簡単にはできないという所。値を戻すこと自体がストリーミングの流れに反しているし
かと言ってそれが必要な場合もある。例えば処理した行数をカウントしたりとかね。
なので最近はイベントハンドラ方式を使うようになった
echo "$data" | command "別のなにか(関数名)" (または command "$data" "別のなにか")
例えばだけどこんな感じにして、commandで$dataを1行ずつ処理して
その都度、別のなにか(関数)を呼び出す。そうするとサブシェルにはならないので
ストリーミングで処理しつつ、グローバル変数経由で呼び出し元に結果を返すことができる
この時、別の何かがシェル関数の場合に、commandが外部コマンドだとシェル関数を呼び出せないので
連鎖的にcommandもシェル関数として実装。みたいなこともやってたりする
ストリーミング指向と制御文はあまり関係ないと思うよ
流れてくるものに対してなにか処理をしたいなら必ず
制御文を使うことになるし
ストリーミング指向の話をするなら、関数呼び出しし結果の標準出力を
変数にキャプチャするっていうのはストリーミング指向と反してると思う
例えば result=$(command "$data") みたいな形のことね
俺もこの書き方はなるべく避けるようになった
ストリーミング指向的には echo "$data" | command | 別のなにか
とするほうが良いだろう
ただ気づいたのがこの形だとサブシェルになってしまうから、
commandや別のなにかから、呼び出しの起点にデータを戻すことが
簡単にはできないという所。値を戻すこと自体がストリーミングの流れに反しているし
かと言ってそれが必要な場合もある。例えば処理した行数をカウントしたりとかね。
なので最近はイベントハンドラ方式を使うようになった
echo "$data" | command "別のなにか(関数名)" (または command "$data" "別のなにか")
例えばだけどこんな感じにして、commandで$dataを1行ずつ処理して
その都度、別のなにか(関数)を呼び出す。そうするとサブシェルにはならないので
ストリーミングで処理しつつ、グローバル変数経由で呼び出し元に結果を返すことができる
この時、別の何かがシェル関数の場合に、commandが外部コマンドだとシェル関数を呼び出せないので
連鎖的にcommandもシェル関数として実装。みたいなこともやってたりする
197デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/05(金) 17:11:32.63ID:bSHFQ9XI0 10. 移植性のあるシェルプログラミング
http://web.sfc.wide.ad.jp/~sagawa/gnujdoc/autoconf-2.59/autoconf-ja_10.html
http://web.sfc.wide.ad.jp/~sagawa/gnujdoc/autoconf-2.59/autoconf-ja_10.html
198デフォルトの名無しさん (ワッチョイ 2abe-selW)
2018/10/05(金) 21:16:49.85ID:NK5dBb8n0 >>196
なるほど。
俺は
https://www.ipsj.or.jp/dp/contents/publication/32/S0804-R1601.html
ここの3.1.1を読んで、制御文をなるべく使わない方向に開発をシフトしてみたんだよね。
まあどうしても必要な部分はあなたも云ってる通りもちろんあるけど。
なるほど。
俺は
https://www.ipsj.or.jp/dp/contents/publication/32/S0804-R1601.html
ここの3.1.1を読んで、制御文をなるべく使わない方向に開発をシフトしてみたんだよね。
まあどうしても必要な部分はあなたも云ってる通りもちろんあるけど。
199デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/06(土) 08:20:34.66ID:Sfai+wMy0 >>198
別にその記事に大きく反対したいわけじゃないけど
おかしな点は指摘しておかないといけない
その手続き型コーディングがステップ数が多く処理効率が低いと書いてある所だが
その原因はストリーミング型コーディングのせいじゃない
rmコマンドの発行回数が原因だ
■手続き型コーディング(ステップ数が多く処理効率が低い)
i=3
while [ $i -le 10000 ]; do
file="file${i}.txt"
rm -f "$file" # 何度もrmコマンドを実行している
i=$((i+3))
done
結果
real 0m3.232s
user 0m2.488s
sys 0m0.808s
■ストリーミング型コーディング
awk 'BEGIN{for(i=3;i<=10000;i+=3){print i;}}' |
sed 's/.*/file&.txt/' |
xargs rm -f
結果
real 0m0.040s
user 0m0.004s
sys 0m0.040s
別にその記事に大きく反対したいわけじゃないけど
おかしな点は指摘しておかないといけない
その手続き型コーディングがステップ数が多く処理効率が低いと書いてある所だが
その原因はストリーミング型コーディングのせいじゃない
rmコマンドの発行回数が原因だ
■手続き型コーディング(ステップ数が多く処理効率が低い)
i=3
while [ $i -le 10000 ]; do
file="file${i}.txt"
rm -f "$file" # 何度もrmコマンドを実行している
i=$((i+3))
done
結果
real 0m3.232s
user 0m2.488s
sys 0m0.808s
■ストリーミング型コーディング
awk 'BEGIN{for(i=3;i<=10000;i+=3){print i;}}' |
sed 's/.*/file&.txt/' |
xargs rm -f
結果
real 0m0.040s
user 0m0.004s
sys 0m0.040s
200デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/06(土) 08:23:22.22ID:Sfai+wMy0 プロセスが分かれており並列で動く可能性があるから
多少ストリーミング型の方が早くはなるとは思うが
以下のように修正すると差は殆ど無くなる。
■手続き型コーディング修正版
i=3
files() {
while [ $i -le 10000 ]; do
file="file${i}.txt"
echo $file
i=$((i+3))
done
}
rm -f $(files)
結果
real 0m0.052s
user 0m0.018s
sys 0m0.044s
余談だがこれはLinuxで実行した結果だがforkが遅いWSLだと
起動プロセスが多い分逆転するかもしれない
多少ストリーミング型の方が早くはなるとは思うが
以下のように修正すると差は殆ど無くなる。
■手続き型コーディング修正版
i=3
files() {
while [ $i -le 10000 ]; do
file="file${i}.txt"
echo $file
i=$((i+3))
done
}
rm -f $(files)
結果
real 0m0.052s
user 0m0.018s
sys 0m0.044s
余談だがこれはLinuxで実行した結果だがforkが遅いWSLだと
起動プロセスが多い分逆転するかもしれない
201デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/06(土) 08:41:27.69ID:Sfai+wMy0 訂正
その手続き型コーディングがステップ数が多く処理効率が低いと書いてある所だが
その原因は手続き型コーディングのせいじゃない
その手続き型コーディングがステップ数が多く処理効率が低いと書いてある所だが
その原因は手続き型コーディングのせいじゃない
202デフォルトの名無しさん (ワッチョイ 2abe-selW)
2018/10/06(土) 10:50:18.29ID:10V4sLOp0 >>200
非本質的だけど
rm -f $(files)とかだとARG_MAXに引っ掛かる可能性がない?
尤も手元の機械では
$ getconf ARG_MAX
2097152
だったので無問題かも知れないけど。
非本質的だけど
rm -f $(files)とかだとARG_MAXに引っ掛かる可能性がない?
尤も手元の機械では
$ getconf ARG_MAX
2097152
だったので無問題かも知れないけど。
203デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/06(土) 11:49:41.89ID:Sfai+wMy0 >>202
> rm -f $(files)とかだとARG_MAXに引っ掛かる可能性がない?
あるよ。それならxargsを使えばいいし、
xargsはファイルから読み込む方法もあるからパイプ使わなくても使える。
ともかく速さの理由はストリーミング型コーディングではないと言いたかっただけ
だいたいawkの中に書いてあるコードは手続き型だろといいたいし、
ステップ数だってちょっと書き方変えれば、大差ないってのがわかるだろう
i=3; while [ $i -le 10000 ]; do rm -f "file${i}.txt"
i=$((i+3)); done
awk 'BEGIN{for(i=3;i<=10000;i+=3){print i;}}' |
sed 's/.*/file&.txt/' |
xargs rm -f
> rm -f $(files)とかだとARG_MAXに引っ掛かる可能性がない?
あるよ。それならxargsを使えばいいし、
xargsはファイルから読み込む方法もあるからパイプ使わなくても使える。
ともかく速さの理由はストリーミング型コーディングではないと言いたかっただけ
だいたいawkの中に書いてあるコードは手続き型だろといいたいし、
ステップ数だってちょっと書き方変えれば、大差ないってのがわかるだろう
i=3; while [ $i -le 10000 ]; do rm -f "file${i}.txt"
i=$((i+3)); done
awk 'BEGIN{for(i=3;i<=10000;i+=3){print i;}}' |
sed 's/.*/file&.txt/' |
xargs rm -f
204デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/07(日) 07:00:55.51ID:9DLOHMhB0 お題
関数fooに対して3つ以上の引数を渡した時、1番目と2番目の引数を入れ替え以下の例のように出力せよ
(引数が3つ未満の場合は考慮する必要はなし)
ただし、シェルビルトイン関数のみを使い、変数の使用は禁止とする
(ここでいう変数とはsetコマンドで表示されるもののことである)
foo 1 2 3 4 5
2
1
3
4
5
レベル1: 引数に使用する文字は英数のみとする
レベル2: 引数にダブルクォート、シングルクォート、スペース、タブが含まれていても動作するようにせよ
関数fooに対して3つ以上の引数を渡した時、1番目と2番目の引数を入れ替え以下の例のように出力せよ
(引数が3つ未満の場合は考慮する必要はなし)
ただし、シェルビルトイン関数のみを使い、変数の使用は禁止とする
(ここでいう変数とはsetコマンドで表示されるもののことである)
foo 1 2 3 4 5
2
1
3
4
5
レベル1: 引数に使用する文字は英数のみとする
レベル2: 引数にダブルクォート、シングルクォート、スペース、タブが含まれていても動作するようにせよ
205デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/07(日) 07:03:41.18ID:9DLOHMhB0 あ、いかん。>>204は簡単な解答があるわw
ちょっと修正する
ちょっと修正する
206デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/07(日) 07:13:43.37ID:9DLOHMhB0 お題(>>204の訂正版)
次のような関数barがある。
bar() { echo 'begin'; printf '%s\n' "$@"; echo 'end'; }
3つ以上の引数を渡した時、1番目と2番目の引数を入れ替えて関数barを呼び出す関数fooを作成し
以下の例のような出力をせよ(引数が3つ未満の場合は考慮する必要はなし)
ただし、シェルビルトイン関数のみを使い、変数の使用は禁止とする
(ここでいう変数とはsetコマンドで表示されるもののことである)
foo 1 2 3 4 5
[出力]
begin
2
1
3
4
5
end
レベル1: 引数に使用する文字は英数のみとする
レベル2: 引数にダブルクォート、シングルクォート、スペース、タブが含まれていても動作するようにせよ
次のような関数barがある。
bar() { echo 'begin'; printf '%s\n' "$@"; echo 'end'; }
3つ以上の引数を渡した時、1番目と2番目の引数を入れ替えて関数barを呼び出す関数fooを作成し
以下の例のような出力をせよ(引数が3つ未満の場合は考慮する必要はなし)
ただし、シェルビルトイン関数のみを使い、変数の使用は禁止とする
(ここでいう変数とはsetコマンドで表示されるもののことである)
foo 1 2 3 4 5
[出力]
begin
2
1
3
4
5
end
レベル1: 引数に使用する文字は英数のみとする
レベル2: 引数にダブルクォート、シングルクォート、スペース、タブが含まれていても動作するようにせよ
207デフォルトの名無しさん (ワッチョイ 1e98-kArq)
2018/10/07(日) 07:18:54.69ID:9DLOHMhB0 余談だが、
func() { printf '%s\n' "begin$@end";} という関数の時、
func 1 2 3 4 5 って書いたら
begin1
2
3
4
5end
func 3 って書いたら
begin3end
って表示されるんだよな。
理解はできるが、なんか不思議だ
func() { printf '%s\n' "begin$@end";} という関数の時、
func 1 2 3 4 5 って書いたら
begin1
2
3
4
5end
func 3 って書いたら
begin3end
って表示されるんだよな。
理解はできるが、なんか不思議だ
208デフォルトの名無しさん (ワッチョイ 969f-vBoO)
2018/10/08(月) 03:36:26.64ID:tKqgyITq0209デフォルトの名無しさん (ワッチョイ a798-kArq)
2018/10/08(月) 18:41:40.22ID:IMi/szTI0 func -a --foo file1 -b file2 -c --bar
みたいな、オプションとファイル名が交互に来てるときに
オプションを全部解析し終わってから
ファイルに対して処理を実行していくのってけっこう大変なんだな
forで回すのもwhileで回すのも一筋縄ではいかない
もちろんbashなんかの配列を使わないという前提
みたいな、オプションとファイル名が交互に来てるときに
オプションを全部解析し終わってから
ファイルに対して処理を実行していくのってけっこう大変なんだな
forで回すのもwhileで回すのも一筋縄ではいかない
もちろんbashなんかの配列を使わないという前提
210デフォルトの名無しさん (ワッチョイ a798-kArq)
2018/10/08(月) 18:48:20.63ID:IMi/szTI0 func -a --foo foo1 file1 -b file2 -c --bar
あ、例えば、foo1は--fooはパラメータ、のようなものが有る場合だった
-で始まる or 始まらないだけで見分けるならまだ簡単
あ、例えば、foo1は--fooはパラメータ、のようなものが有る場合だった
-で始まる or 始まらないだけで見分けるならまだ簡単
211デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/08(月) 18:50:15.77ID:NcWFD+EU0 そもそもそんな指定の仕方ありうる?
ありえない状況を想定してヤキモキするのは非生産的だと思うんだけど……。
ありえない状況を想定してヤキモキするのは非生産的だと思うんだけど……。
212デフォルトの名無しさん (ワッチョイ a798-kArq)
2018/10/08(月) 19:10:00.18ID:IMi/szTI0213デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/08(月) 20:52:36.04ID:NcWFD+EU0214デフォルトの名無しさん (ワッチョイ a798-kArq)
2018/10/08(月) 21:02:29.11ID:IMi/szTI0 >>213
そういうこと
そういうこと
215デフォルトの名無しさん (ワッチョイ 969f-XQ2D)
2018/10/08(月) 23:31:18.49ID:tKqgyITq0 GNUのgetoptのロングのやつ使えればなんとかなるんじゃないか?
216デフォルトの名無しさん (ワッチョイ b064-selW)
2018/10/09(火) 02:27:08.37ID:cJ7fFqob0 これでいいな。
$ getopt --options 'a,b,c' --longoptions 'foo:,bar' -- -a --foo foo1 file1 -b file2 -c --bar
$ getopt --options 'a,b,c' --longoptions 'foo:,bar' -- -a --foo foo1 file1 -b file2 -c --bar
217デフォルトの名無しさん (アウアウカー Sa0a-v2gR)
2018/10/09(火) 02:29:18.52ID:i1ZCVGtYa 195から207まで丸ごと吹っ飛んでんだがどんだけレスバトルしてたんだ
見る気もないが
見る気もないが
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【窪田順生氏】「高市政権人気の裏には多数の“弱者感を抱えた男”の存在がある」弱者感を抱えた男は人知れずマイルド右翼に… [おっさん友の会★]
- 【調査】クレジットカード、1人何枚持つのが「平均的」?★3 [ひぃぃ★]
- 「ヘイトスピーチをやめろ」 各地の「移民反対デモ」に抗議活動 [蚤の市★]
- 【作家】高市総理支持の背景に見えるヤンキー的「ケンカ上等!」と「日本人は特別だ」感がとても怖い 北原みのり [少考さん★]
- 【テレビ】池上彰氏 報道の自由度が高い国の特徴「どんどん政府を批判する。政治家は受け入れる」 一方独裁国家は… [冬月記者★]
- 宮崎あおい「電子レンジ持ってない」“丁寧な暮らし”を告白「ごはんを温め直すときも蒸し器」に「凄すぎ」の声 [muffin★]
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap609
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1816
- 【U-NEXT】プレミアリーグ総合 ★39
- ハム専 エスコン日韓OB戦
- 巨専】
- とらせん IP
- ネトウヨやウク信は言葉を慎みたまえ。中露両国は対日制裁を考える基準にしているぞ [805596214]
- 古市憲寿「スタジオでも中国批判して気持ち良くなってる人はいるが高市答弁で日本人は損してる。国益を害した」スタジオ凍りつく [931948549]
- どっかの部族みたいにチンコケースしてキンタマは風に晒すのが正解だよな
- 高市政権「中国への反論はSNSでやるb。覚悟しろ中麹早I!!!!」 [834922174]
- まったり進行おじゃる丸待機ハウス🏡
- ビッパって何?
