シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ: シェルスクリプト総合 その27(https://mevius.5ch.net/test/read.cgi/unix/1525337663/)
探検
シェルスクリプト総合 その28
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/07/24(火) 11:01:16.36ID:r0TJj2hB499デフォルトの名無しさん
2018/08/31(金) 19:59:38.59ID:OUCwI4mz どう解釈すれば、この挙動を理解できますかね?
./test.sh "a 1" "b 2"
for i in "A $@ Z"; do
echo $i
done
# A a 1
# b 2 Z
for i in "A Z"; do
echo $i
done
# A Z
./test.sh "a 1" "b 2"
for i in "A $@ Z"; do
echo $i
done
# A a 1
# b 2 Z
for i in "A Z"; do
echo $i
done
# A Z
500デフォルトの名無しさん
2018/08/31(金) 20:04:13.23ID:4o8e5lPA >>493
シェルの追記はかからない。
vi/vim はかかる。
>> 495
仕様。配列にぶっこむ。
HOGE=("$@")
for ent in "${HOGE[@]}"; do
echo $ent
done
シェルの追記はかからない。
vi/vim はかかる。
>> 495
仕様。配列にぶっこむ。
HOGE=("$@")
for ent in "${HOGE[@]}"; do
echo $ent
done
501デフォルトの名無しさん
2018/08/31(金) 20:20:45.59ID:4o8e5lPA >>499
"A $@ Z" → A\_a\_1_b\_2\_Z
"A Z" → A\_Z
アンダースコアはスペースと思ってくれ。
ダブルクォートはスペースをエスケープしてる。
man に載ってたと思って読んでたが見つからんかった。
"A $@ Z" → A\_a\_1_b\_2\_Z
"A Z" → A\_Z
アンダースコアはスペースと思ってくれ。
ダブルクォートはスペースをエスケープしてる。
man に載ってたと思って読んでたが見つからんかった。
502デフォルトの名無しさん
2018/08/31(金) 20:47:48.56ID:6cxiNGZa man の特殊パラメータの項に書いてあるのはこういうことか?
"A $@ Z" → "A ""$@"" Z"
確かに動作は同じだ。
試したコードはこんな感じ
for i in "$@"; do
echo $i
done
for i in "A $@ Z"; do
echo $i
done
for i in "A ""$@"" Z"; do
echo $i
done
"A $@ Z" → "A ""$@"" Z"
確かに動作は同じだ。
試したコードはこんな感じ
for i in "$@"; do
echo $i
done
for i in "A $@ Z"; do
echo $i
done
for i in "A ""$@"" Z"; do
echo $i
done
503デフォルトの名無しさん
2018/08/31(金) 20:52:30.52ID:OUCwI4mz よくわからんね。 $@がダブルクォートの中に入ってたら
"$1" "$2" ・・・ "$n" に展開されるってことかな?
でもそれだと
# A a 1
こうなる理由がよくわからなんのだよな
"A $@ Z" は
"A $1" "$2" "$3" ・・・ "$n Z" に
展開されているとしか思えない
"$1" "$2" ・・・ "$n" に展開されるってことかな?
でもそれだと
# A a 1
こうなる理由がよくわからなんのだよな
"A $@ Z" は
"A $1" "$2" "$3" ・・・ "$n Z" に
展開されているとしか思えない
504デフォルトの名無しさん
2018/08/31(金) 21:53:31.46ID:KmkRvZ7D505デフォルトの名無しさん
2018/08/31(金) 23:13:07.36ID:QWemr4wG506デフォルトの名無しさん
2018/08/31(金) 23:15:52.07ID:QWemr4wG507デフォルトの名無しさん
2018/08/31(金) 23:29:17.32ID:OUCwI4mz イイかダメかで言えば、arg1、arg2、arg3、・・・では
ループできないのでこれだけではだめですね。
シェルスクリプトにもライブラリが欲しい所ですね
ループできないのでこれだけではだめですね。
シェルスクリプトにもライブラリが欲しい所ですね
508デフォルトの名無しさん
2018/08/31(金) 23:44:36.90ID:4ZfpOo1s そんなもんいらない
そんなん使うぐらいなら別のスクリプトを
シェルから使う
ホントな頭悪いことばっかりいってるわ
そんなん使うぐらいなら別のスクリプトを
シェルから使う
ホントな頭悪いことばっかりいってるわ
509デフォルトの名無しさん
2018/09/01(土) 00:01:57.02ID:Z9gelboG510デフォルトの名無しさん
2018/09/01(土) 04:09:47.42ID:IN1XIdeB 最初は使い捨てだからとシェルスクリプトを書くが
なんだかんだ使い続けて、利便性向上の為にアップデートを続け
最後には複数ファイルに及ぶ意外に大規模な代物に
今更マトモな言語で作り直すのも面倒臭い
やるなら最初からマトモな言語で作っておけば良かったと
なんだかんだ使い続けて、利便性向上の為にアップデートを続け
最後には複数ファイルに及ぶ意外に大規模な代物に
今更マトモな言語で作り直すのも面倒臭い
やるなら最初からマトモな言語で作っておけば良かったと
511デフォルトの名無しさん
2018/09/01(土) 05:19:02.92ID:Z9gelboG >>510
その通り
一部のよほど頭の良い人(USP研究所とかそのあたり)じゃないと
まともに扱えない単純だけど難しい言語
ほとんどの人間はPythonやらを使ったほうがいい
Pythonはエラー処理やセキュリティ関連も既定で充実してるから
バカでもプログラムが書けるようになってる
その通り
一部のよほど頭の良い人(USP研究所とかそのあたり)じゃないと
まともに扱えない単純だけど難しい言語
ほとんどの人間はPythonやらを使ったほうがいい
Pythonはエラー処理やセキュリティ関連も既定で充実してるから
バカでもプログラムが書けるようになってる
512デフォルトの名無しさん
2018/09/01(土) 06:18:36.99ID:j0QmLW2E シェルスクリプトを他のスクリプトへコンバートするツールとか無いのかな?
513デフォルトの名無しさん
2018/09/01(土) 07:21:55.56ID:mPcVbgud514デフォルトの名無しさん
2018/09/01(土) 07:58:52.51ID:dtHP3qHu515デフォルトの名無しさん
2018/09/01(土) 08:09:40.25ID:mPcVbgud 例えば、rbenvとか、それなりの規模だけど
シェルスクリプトで作るのが適している
シェルスクリプトで作るのが適している
516デフォルトの名無しさん
2018/09/01(土) 08:10:56.58ID:kUpkBQ3x >>493-494
>追記分のブロック数分が更新されると考えていいのでしょうか
たぶん、追記分だけ
ページサイズが4KB で、20KB のファイルがある時、
追記すると、最初の5ページに変化はない。
6ページ目が追加されるだけ
ただし、ファイルの中ほどを更新した場合は、どうなるかわからない。
3ページ目だけを更新した場合、1, 2, 4, 5ページに変化はないけど、
3ページ目のサイズが大きい場合、6ページ目を確保して、それを間に入れるから、
1, 2, (3, 6,) 4, 5 のようなページの並びになるのかな?
まあ、ファイルシステムの説明を読まないと、わからない
>追記分のブロック数分が更新されると考えていいのでしょうか
たぶん、追記分だけ
ページサイズが4KB で、20KB のファイルがある時、
追記すると、最初の5ページに変化はない。
6ページ目が追加されるだけ
ただし、ファイルの中ほどを更新した場合は、どうなるかわからない。
3ページ目だけを更新した場合、1, 2, 4, 5ページに変化はないけど、
3ページ目のサイズが大きい場合、6ページ目を確保して、それを間に入れるから、
1, 2, (3, 6,) 4, 5 のようなページの並びになるのかな?
まあ、ファイルシステムの説明を読まないと、わからない
517デフォルトの名無しさん
2018/09/01(土) 08:19:23.69ID:kUpkBQ3x vagrant, chef は、Ruby で書かれているだろ
大きい手順書を、シェルスクリプトで書くのは、途方もない!
大きい手順書を、シェルスクリプトで書くのは、途方もない!
518デフォルトの名無しさん
2018/09/01(土) 08:31:44.88ID:Z9gelboG ・テスト環境……なし
・ドキュメント生成……なし
・バージョン管理……なし
・パッケージシステム……なし
まあそりゃ大規模開発には向かないわな。
やってもいいのは上記の諸々を自作できるような賢い人間。
(俺を含めた)普通の人間は「連番画像をDLする」とか「写真フォルダを整理する」
ときに一度限りのシェルスクリプトを書く程度に留めて
開発はPythonやRubyやJava(個人的に後者二つはあまり好きじゃないが)を利用するのが一番いい。
もちろん自身にとってもだが,他人にとっても不具合が少ないし事故が起こりにくいというのは大きな利点でしょうね。
・ドキュメント生成……なし
・バージョン管理……なし
・パッケージシステム……なし
まあそりゃ大規模開発には向かないわな。
やってもいいのは上記の諸々を自作できるような賢い人間。
(俺を含めた)普通の人間は「連番画像をDLする」とか「写真フォルダを整理する」
ときに一度限りのシェルスクリプトを書く程度に留めて
開発はPythonやRubyやJava(個人的に後者二つはあまり好きじゃないが)を利用するのが一番いい。
もちろん自身にとってもだが,他人にとっても不具合が少ないし事故が起こりにくいというのは大きな利点でしょうね。
519デフォルトの名無しさん
2018/09/01(土) 08:38:18.84ID:mPcVbgud520デフォルトの名無しさん
2018/09/01(土) 08:45:05.20ID:mPcVbgud >>518
それ理屈にあってないだろ
"作れない" ならともかく、現在ないから大規模開発に向かないという理屈なら、
あれば大規模開発に向いているって言うことになるぞw
例えば、今はsystemdに役目を移してしまったが、
Linuxの起動の仕組みはシェルスクリプトだった。
ちなみにgitも結構シェルスクリプトが含まれているよ
https://github.com/git/git/blob/master/contrib/subtree/git-subtree.sh
それにテストもドキュメントもバージョン管理もあるね。
(って今気づいたがバージョン管理ってなんだ?)
それ理屈にあってないだろ
"作れない" ならともかく、現在ないから大規模開発に向かないという理屈なら、
あれば大規模開発に向いているって言うことになるぞw
例えば、今はsystemdに役目を移してしまったが、
Linuxの起動の仕組みはシェルスクリプトだった。
ちなみにgitも結構シェルスクリプトが含まれているよ
https://github.com/git/git/blob/master/contrib/subtree/git-subtree.sh
それにテストもドキュメントもバージョン管理もあるね。
(って今気づいたがバージョン管理ってなんだ?)
521デフォルトの名無しさん
2018/09/01(土) 08:48:34.52ID:mPcVbgud なんか、JavaScriptと同じ空気を感じるな。
いろんな仕組みがないから、簡易的な用途にしか使えないと
最初は思われていたが、それらの仕組みが揃った今では
サイト全体をJavaScriptで作るのもありえないことではなくなった。
いろんな仕組みがないから、簡易的な用途にしか使えないと
最初は思われていたが、それらの仕組みが揃った今では
サイト全体をJavaScriptで作るのもありえないことではなくなった。
522デフォルトの名無しさん
2018/09/01(土) 08:50:14.95ID:dtHP3qHu523デフォルトの名無しさん
2018/09/01(土) 08:53:58.50ID:mPcVbgud >>522
だから規模で判断するのは間違いという結論になると言ってるんだが?
だから規模で判断するのは間違いという結論になると言ってるんだが?
524デフォルトの名無しさん
2018/09/01(土) 08:56:54.80ID:J8s4Euww >>513
具体的にはどういう場合?
具体的にはどういう場合?
525デフォルトの名無しさん
2018/09/01(土) 09:00:31.35ID:mPcVbgud >>524
だからrbenvっていってるじゃん。
だからrbenvっていってるじゃん。
526デフォルトの名無しさん
2018/09/01(土) 09:01:03.88ID:J8s4Euww >>525
具体的に
具体的に
527デフォルトの名無しさん
2018/09/01(土) 09:03:56.67ID:dtHP3qHu >>523>>525
それは例外であって反例ではない
それは例外であって反例ではない
528デフォルトの名無しさん
2018/09/01(土) 09:07:50.87ID:kUpkBQ3x 仮想化は、典型的な手順書だろ。
パッケージをダウンロードして、インストールして、環境変数PATH を通して
シェルスクリプトで作るのは面倒。
Ruby でOK
パッケージをダウンロードして、インストールして、環境変数PATH を通して
シェルスクリプトで作るのは面倒。
Ruby でOK
529デフォルトの名無しさん
2018/09/01(土) 09:16:02.22ID:Z9gelboG まあRubyじゃなくてもRubyのように
ドキュメント生成やパッケージ管理ができればいいんだよね
PythonがいいよPythonが。
ドキュメント生成やパッケージ管理ができればいいんだよね
PythonがいいよPythonが。
530デフォルトの名無しさん
2018/09/01(土) 09:23:11.21ID:mPcVbgud531デフォルトの名無しさん
2018/09/01(土) 09:24:47.95ID:HRxiLrgz pwshが便利すぎてな
532デフォルトの名無しさん
2018/09/01(土) 09:25:44.74ID:mPcVbgud >>528
> 仮想化は、典型的な手順書だろ。
たまたま手順書がシェルスクリプトで書かれていたからって、
手順書だからというのはシェルスクリプトで書く理由にはならないんだよ。
あんたはrubyが入ってない、入れたくないという環境でも
動かしたいという理由とごっちゃにしてるだけ
> 仮想化は、典型的な手順書だろ。
たまたま手順書がシェルスクリプトで書かれていたからって、
手順書だからというのはシェルスクリプトで書く理由にはならないんだよ。
あんたはrubyが入ってない、入れたくないという環境でも
動かしたいという理由とごっちゃにしてるだけ
533デフォルトの名無しさん
2018/09/01(土) 09:37:39.89ID:dtHP3qHu >>530
分かった、好きにしてくれ
分かった、好きにしてくれ
534デフォルトの名無しさん
2018/09/01(土) 09:45:09.27ID:mPcVbgud 理解したならいい。
好きにするのは普通にしている。
ここでやってるのは、お前に理解させることだからな。
反論がなくなればそこで終了だ
好きにするのは普通にしている。
ここでやってるのは、お前に理解させることだからな。
反論がなくなればそこで終了だ
535デフォルトの名無しさん
2018/09/01(土) 10:52:03.88ID:f+i9u0Am >>531
Unix に新しいシェルが!? と思ったら PowerShell だったのね
Unix に新しいシェルが!? と思ったら PowerShell だったのね
536デフォルトの名無しさん
2018/09/01(土) 11:17:42.65ID:qlVPfHnQ 結局どういう場合にシェルが適しているのか一言も言ってない件
537デフォルトの名無しさん
2018/09/01(土) 11:35:25.52ID:mPcVbgud >>526
1. シェル環境そのものをカスタマイズするためのもの(例 rbenv)
通常のプロセスはサブプロセスとして起動するので、カレントシェルのカスタマイズはできない
2. 特定の言語のライブラリやランタイムに依存したくないもの(例 Docker)
あらかじめ入っているものだけで起動できるので、環境を整える必要がなくなる
コンテナやIoTといった小さな制限されたイメージでも使える
逆にさ、他の言語の方こそ「適している理由」が少ないと思うな。
例えばRubyで作ったものはPythonで作ることだってできるだろ?
1. シェル環境そのものをカスタマイズするためのもの(例 rbenv)
通常のプロセスはサブプロセスとして起動するので、カレントシェルのカスタマイズはできない
2. 特定の言語のライブラリやランタイムに依存したくないもの(例 Docker)
あらかじめ入っているものだけで起動できるので、環境を整える必要がなくなる
コンテナやIoTといった小さな制限されたイメージでも使える
逆にさ、他の言語の方こそ「適している理由」が少ないと思うな。
例えばRubyで作ったものはPythonで作ることだってできるだろ?
538デフォルトの名無しさん
2018/09/01(土) 11:42:20.50ID:mPcVbgud 3. CLIコマンドとCLIコマンドのグルー言語
リダイレクトやパイプを使った処理はシェルスクリプトが得意
他の言語でもネイティブに記述するのが面倒だからか
内部的にシェルを経由してたりするしな
リダイレクトやパイプを使った処理はシェルスクリプトが得意
他の言語でもネイティブに記述するのが面倒だからか
内部的にシェルを経由してたりするしな
539デフォルトの名無しさん
2018/09/01(土) 11:48:25.44ID:qlVPfHnQ540デフォルトの名無しさん
2018/09/01(土) 11:55:22.51ID:mPcVbgud >>539
はぁ、だから
> 逆にさ、他の言語の方こそ「適している理由」が少ないと思うな。
> 例えばRubyで作ったものはPythonで作ることだってできるだろ?
こう書いたのに。
たとえ対象となるものが少なくとも、
適している理由があるだろ?
他の言語は、その適してる理由すらないのにって話だよ
2がC#ですら可能? じゃあ俺が使ってるルータ(OpenWrt)で動かしてみなよ
はぁ、だから
> 逆にさ、他の言語の方こそ「適している理由」が少ないと思うな。
> 例えばRubyで作ったものはPythonで作ることだってできるだろ?
こう書いたのに。
たとえ対象となるものが少なくとも、
適している理由があるだろ?
他の言語は、その適してる理由すらないのにって話だよ
2がC#ですら可能? じゃあ俺が使ってるルータ(OpenWrt)で動かしてみなよ
541デフォルトの名無しさん
2018/09/01(土) 11:57:50.49ID:mPcVbgud 参考までに言っておくと、俺が扱ってるルータは
比較的スペックが高いものだが、Flashのサイズは16MBしかなく
ファームウェアを除いたら空き容量は10MB程度だからな
比較的スペックが高いものだが、Flashのサイズは16MBしかなく
ファームウェアを除いたら空き容量は10MB程度だからな
542デフォルトの名無しさん
2018/09/01(土) 12:11:14.41ID:HRxiLrgz 自分が今使ってる環境を前提にして
同じように考えろと周りにも要求する人ってたまにいるけどその議論に意味あるのか?
同じように考えろと周りにも要求する人ってたまにいるけどその議論に意味あるのか?
543デフォルトの名無しさん
2018/09/01(土) 12:23:32.27ID:mPcVbgud544デフォルトの名無しさん
2018/09/01(土) 12:35:03.95ID:HRxiLrgz >>543
だからって極貧環境を前提にするのも間違い
極貧環境でリッチなスクリプトが動かないのはわかった
その環境ではshは素晴らしいものだ
スクリプト言語の完全敗北だよ
そりゃ動かせないのに勝負になるわけない
この結論に議論の余地はないだろう
じゃあ議論が終わったので次に行こう
業務規約でツールインストール禁止のWindows 7環境でshのメリットはあるか?
だからって極貧環境を前提にするのも間違い
極貧環境でリッチなスクリプトが動かないのはわかった
その環境ではshは素晴らしいものだ
スクリプト言語の完全敗北だよ
そりゃ動かせないのに勝負になるわけない
この結論に議論の余地はないだろう
じゃあ議論が終わったので次に行こう
業務規約でツールインストール禁止のWindows 7環境でshのメリットはあるか?
545デフォルトの名無しさん
2018/09/01(土) 12:36:44.49ID:mPcVbgud546デフォルトの名無しさん
2018/09/01(土) 12:38:38.54ID:dtHP3qHu547デフォルトの名無しさん
2018/09/01(土) 12:43:20.26ID:mPcVbgud >>544
> 業務規約でツールインストール禁止のWindows 7環境でshのメリットはあるか?
WindowsとLinuxの両方で使うなら、
両方のOSでそのまま動くツールがほしいね
まずツールインストール禁止なんだから
任意のバイナリ、RubyやPythonをインストールすることは禁止だ。
(バイナリOKならbusyboxでもダウンロードすればいいということになる)
だからバッチファイル or PowerShell or JavaScript(JScript) と
シェルスクリプト の二段構えにするしか無いだろう。
二重にコードを開発するのが嫌なら、簡易インタプリタ言語でも作って、
WindowsではJavaScrptで、Linuxならシェルスクリプトで
パースしてコマンドに変換して実行とかかな
ってことで、シェルスクリプトでもそういう用途のために
ライブラリとか充実してるといいよねという話に戻すw
> 業務規約でツールインストール禁止のWindows 7環境でshのメリットはあるか?
WindowsとLinuxの両方で使うなら、
両方のOSでそのまま動くツールがほしいね
まずツールインストール禁止なんだから
任意のバイナリ、RubyやPythonをインストールすることは禁止だ。
(バイナリOKならbusyboxでもダウンロードすればいいということになる)
だからバッチファイル or PowerShell or JavaScript(JScript) と
シェルスクリプト の二段構えにするしか無いだろう。
二重にコードを開発するのが嫌なら、簡易インタプリタ言語でも作って、
WindowsではJavaScrptで、Linuxならシェルスクリプトで
パースしてコマンドに変換して実行とかかな
ってことで、シェルスクリプトでもそういう用途のために
ライブラリとか充実してるといいよねという話に戻すw
548デフォルトの名無しさん
2018/09/01(土) 12:46:29.79ID:mPcVbgud 皮肉が伝わっていなそうだから言っておくが、>545は
「どちらもなにかを前提としてる」だろってこと
そして2つの違いはその前提が
「多くの環境に対応する」前提 なのか
「特定の環境を切り捨てる」前提なのかってこと
「どちらもなにかを前提としてる」だろってこと
そして2つの違いはその前提が
「多くの環境に対応する」前提 なのか
「特定の環境を切り捨てる」前提なのかってこと
549デフォルトの名無しさん
2018/09/01(土) 13:52:25.73ID:Z9gelboG 結局シェルスクリプトは大規模開発に向いてるの?
550デフォルトの名無しさん
2018/09/01(土) 13:52:43.19ID:7zKoqoPj 最近知ったけど&&や||使えばifによる判定不要なんだね
ls aaa && echo exists
ls aaa || echo not exists
でもプログラムやってきてた自分としては
if使っちゃうかなあ・・・
ls aaa && echo exists
ls aaa || echo not exists
でもプログラムやってきてた自分としては
if使っちゃうかなあ・・・
551デフォルトの名無しさん
2018/09/01(土) 14:21:11.49ID:mPcVbgud > でもプログラムやってきてた自分としては
???
俺もプログラムやってきたが、こういう書き方を知った(意識した)のはperlが最初だな
http://perldoc.jp/func/die
> chdir '/usr/spool/news' or die "Can't cd to spool: $!\n"
(or は優先順位が違うだけで || と同じ)
以降Rubyや
https://docs.ruby-lang.org/ja/latest/doc/spec=2foperator.html#or
> demo || die
> demo or die
JavaScriptでも使うようになった
https://stackoverflow.com/questions/51206667/or-in-ternary-operator-using
> (a === 0 || b === 0) && console.log('aloha amigo')
(Perlよりも前にやっていた)C言語でもできたんだが、当時は使ってなかったな。
https://qiita.com/gyu-don/items/a0aed0f94b8b35c43290
> a || error(); // if(!a){ error(); } のような挙動
> a || (a = 1); // if(!a){ a = 1; } のような挙動(代入が式である言語で有効)
こういう書き方ができないのはVBぐらいじゃないか?
VBは短絡評価じゃないから、先に|| や && の右側が評価されてしまったはず
えーと、いつから自分がプログラムやってきたと錯覚していた?
???
俺もプログラムやってきたが、こういう書き方を知った(意識した)のはperlが最初だな
http://perldoc.jp/func/die
> chdir '/usr/spool/news' or die "Can't cd to spool: $!\n"
(or は優先順位が違うだけで || と同じ)
以降Rubyや
https://docs.ruby-lang.org/ja/latest/doc/spec=2foperator.html#or
> demo || die
> demo or die
JavaScriptでも使うようになった
https://stackoverflow.com/questions/51206667/or-in-ternary-operator-using
> (a === 0 || b === 0) && console.log('aloha amigo')
(Perlよりも前にやっていた)C言語でもできたんだが、当時は使ってなかったな。
https://qiita.com/gyu-don/items/a0aed0f94b8b35c43290
> a || error(); // if(!a){ error(); } のような挙動
> a || (a = 1); // if(!a){ a = 1; } のような挙動(代入が式である言語で有効)
こういう書き方ができないのはVBぐらいじゃないか?
VBは短絡評価じゃないから、先に|| や && の右側が評価されてしまったはず
えーと、いつから自分がプログラムやってきたと錯覚していた?
552デフォルトの名無しさん
2018/09/01(土) 14:44:03.83ID:2NCbxz5b 独り舞台の全レス
553デフォルトの名無しさん
2018/09/01(土) 14:46:14.88ID:mPcVbgud あ、はい
(下らないレスは無視してるけどなw)
(下らないレスは無視してるけどなw)
554デフォルトの名無しさん
2018/09/01(土) 15:07:44.71ID:7KL6nh8i 一日中張り付いてるやべー奴
555デフォルトの名無しさん
2018/09/01(土) 16:10:37.86ID:W/mc6eBq556デフォルトの名無しさん
2018/09/01(土) 17:14:12.00ID:mPcVbgud557デフォルトの名無しさん
2018/09/01(土) 17:30:46.73ID:qlVPfHnQ558デフォルトの名無しさん
2018/09/01(土) 17:43:01.15ID:vZp6TokW 何行以上なら大規模なのか、1人で開発したら大規模と言えるのか。
シェルスクリプト環境自体がシェルスクリプトを用いた大規模分散開発の成果と言えるのかもしれない。
という夢を見た
シェルスクリプト環境自体がシェルスクリプトを用いた大規模分散開発の成果と言えるのかもしれない。
という夢を見た
559デフォルトの名無しさん
2018/09/01(土) 17:46:41.85ID:mPcVbgud >>557
ありがとう。やっぱりうちのOpenWrtでは動きそうもないね。
ありがとう。やっぱりうちのOpenWrtでは動きそうもないね。
560デフォルトの名無しさん
2018/09/01(土) 17:47:16.28ID:qlVPfHnQ >>559
なぜ?
なぜ?
561デフォルトの名無しさん
2018/09/01(土) 17:59:21.16ID:mPcVbgud >>560
最初に思ったのが、glibcではないから。
たしかuClibcだっけ?と思ったが、musl libcに変わっていた。
glibc互換らしいから動くかもしれない。
次に思ったのがCPU。うちのルータは MIPS
ここを見るとARMはあるがMIPSはないのでアウト。動かない
https://www.microsoft.com/net/download/dotnet-core/2.2
おまけでARMのコアバイナリサイズ。圧縮状態で30MB近くある
展開したら60MB?。空き容量は10MBしかないので到底入らない。
ちなみにOpenVPNとか入れるんで10MB全部使えるわけじゃない
USBメモリを使うという裏技があるから不可能ではないが。
あとは使用メモリも気になるな。高スペックルータなので、
128MB"も"搭載されているが、どれくらいメモリ食うんだろうね
最初に思ったのが、glibcではないから。
たしかuClibcだっけ?と思ったが、musl libcに変わっていた。
glibc互換らしいから動くかもしれない。
次に思ったのがCPU。うちのルータは MIPS
ここを見るとARMはあるがMIPSはないのでアウト。動かない
https://www.microsoft.com/net/download/dotnet-core/2.2
おまけでARMのコアバイナリサイズ。圧縮状態で30MB近くある
展開したら60MB?。空き容量は10MBしかないので到底入らない。
ちなみにOpenVPNとか入れるんで10MB全部使えるわけじゃない
USBメモリを使うという裏技があるから不可能ではないが。
あとは使用メモリも気になるな。高スペックルータなので、
128MB"も"搭載されているが、どれくらいメモリ食うんだろうね
562デフォルトの名無しさん
2018/09/01(土) 18:00:20.51ID:mPcVbgud 訂正
× おまけでARMのコアバイナリサイズ。圧縮状態で30MB近くある
○ おまけでARM版の.NET Coreランタイムのバイナリサイズ。圧縮状態で30MB近くある
× おまけでARMのコアバイナリサイズ。圧縮状態で30MB近くある
○ おまけでARM版の.NET Coreランタイムのバイナリサイズ。圧縮状態で30MB近くある
563デフォルトの名無しさん
2018/09/01(土) 18:02:43.20ID:7GOU6dDm ちょっと理解に苦しむんだが、ルーターで大規模開発するわけ?
564デフォルトの名無しさん
2018/09/01(土) 18:02:59.63ID:/wwW4VSs ちっちゃいコマンドを一杯つくって
そのコマンドを一杯組み合わせてどんどんコマンド作るのには最適
標準入出力でひたすら組み合わせて使えるのがベストだ
一つのシェルスクリプトでたくさんの機能の処理を書こうというのが
そもそもの間違い
単体のシェルスクリプトで完結して使える簡単な機能を作る
わかりましたか
そのコマンドを一杯組み合わせてどんどんコマンド作るのには最適
標準入出力でひたすら組み合わせて使えるのがベストだ
一つのシェルスクリプトでたくさんの機能の処理を書こうというのが
そもそもの間違い
単体のシェルスクリプトで完結して使える簡単な機能を作る
わかりましたか
565デフォルトの名無しさん
2018/09/01(土) 18:08:41.62ID:mPcVbgud566デフォルトの名無しさん
2018/09/01(土) 18:10:57.55ID:7GOU6dDm >>561
じゃあmonoで良いやん
じゃあmonoで良いやん
567デフォルトの名無しさん
2018/09/01(土) 18:14:25.88ID:eduRMzlf シェルしか書けないジジイが必死だな
568デフォルトの名無しさん
2018/09/01(土) 18:19:40.37ID:mPcVbgud >>564
いやわからんw
「簡単な機能」とはどういう機能なのか
理論的には、たくさんのコマンドを組み合わせるだけという
シェルスクリプトに適した単純な機能であっても、その量が多くなれば大規模になるだろう?
「機能の種類や複雑さ」と「機能の量」は別々の概念だ
俺にとっては大規模といったら10万行超えるぐらいのものなんだが、
その前提でいいのであれば1000行程度は小規模だろう。だがその
1000行でもライブラリあったほうが楽になるだろうと用意に予測できる
例えばgit subtreeが865行だな
https://github.com/git/git/blob/master/contrib/subtree/git-subtree.sh
いやわからんw
「簡単な機能」とはどういう機能なのか
理論的には、たくさんのコマンドを組み合わせるだけという
シェルスクリプトに適した単純な機能であっても、その量が多くなれば大規模になるだろう?
「機能の種類や複雑さ」と「機能の量」は別々の概念だ
俺にとっては大規模といったら10万行超えるぐらいのものなんだが、
その前提でいいのであれば1000行程度は小規模だろう。だがその
1000行でもライブラリあったほうが楽になるだろうと用意に予測できる
例えばgit subtreeが865行だな
https://github.com/git/git/blob/master/contrib/subtree/git-subtree.sh
569デフォルトの名無しさん
2018/09/01(土) 18:23:56.55ID:+0pKcVMh 理論とか言い出しちゃった
570デフォルトの名無しさん
2018/09/01(土) 18:38:06.88ID:+0pKcVMh 誰が提唱した理論だろう?
謎理論?
謎理論?
571デフォルトの名無しさん
2018/09/01(土) 18:42:01.49ID:mPcVbgud シェルスクリプトが大規模に向いてないという理由を
誰も答えてくれないので俺が書いてやる
まず前提としてどんな言語であっても、言語だけでは大規模開発を
するのは無理RubyでもC#でもJavaであってもだ。
少し前まではJavaScriptも大規模開発に向かないと
言われていたはずだ。それが解決したのは何故か?
大規模開発をするのに必要なのは言語じゃない。フレームワークとライブラリだ。
どんな言語でも大規模開発するためにフレームワークとライブラリを使うだろう?
逆にこれらを使わないで大規模開発なんて到底無理だろ?
JavaScriptが大規模開発できるようになったのも、
フレームワークとライブラリが補完されたからだよ。
シェルスクリプトも昔のJavaScriptと同じ状況。
といっても俺はシェルスクリプトで大規模開発をすることには興味がなく、
せいぜい数千行程度の中規模ぐらいまでしかやることはないだろう。
何故かと言うと単にシェルスクリプトに適した内容で
10万行を超えるようなものが思いつかないからだ
だがそれはシェルスクリプトで大規模開発ができないということにはならない。
実際USPとかいうので、無印良品や東急ハンズのシステムが作られている(いた?)だろ
http://www.atmarkit.co.jp/news/200909/07/lltv03.html
https://www.hands-lab.com/tech/entry/62.html
(適してないとは思うが)足りない部分を補えば大規模開発だってできることは証明済みだよ
まとめると、現在のシェルスクリプトが大規模開発に向いてないのは
フレームワークやライブラリが不足しているから。
俺がシェルスクリプトで大規模開発をやらないのは、
シェルスクリプトが適した内容で大規模なものを思いつかないから。
それはそれとして中規模を小規模にするためのフレームワークやライブラリは欲しい。
誰も答えてくれないので俺が書いてやる
まず前提としてどんな言語であっても、言語だけでは大規模開発を
するのは無理RubyでもC#でもJavaであってもだ。
少し前まではJavaScriptも大規模開発に向かないと
言われていたはずだ。それが解決したのは何故か?
大規模開発をするのに必要なのは言語じゃない。フレームワークとライブラリだ。
どんな言語でも大規模開発するためにフレームワークとライブラリを使うだろう?
逆にこれらを使わないで大規模開発なんて到底無理だろ?
JavaScriptが大規模開発できるようになったのも、
フレームワークとライブラリが補完されたからだよ。
シェルスクリプトも昔のJavaScriptと同じ状況。
といっても俺はシェルスクリプトで大規模開発をすることには興味がなく、
せいぜい数千行程度の中規模ぐらいまでしかやることはないだろう。
何故かと言うと単にシェルスクリプトに適した内容で
10万行を超えるようなものが思いつかないからだ
だがそれはシェルスクリプトで大規模開発ができないということにはならない。
実際USPとかいうので、無印良品や東急ハンズのシステムが作られている(いた?)だろ
http://www.atmarkit.co.jp/news/200909/07/lltv03.html
https://www.hands-lab.com/tech/entry/62.html
(適してないとは思うが)足りない部分を補えば大規模開発だってできることは証明済みだよ
まとめると、現在のシェルスクリプトが大規模開発に向いてないのは
フレームワークやライブラリが不足しているから。
俺がシェルスクリプトで大規模開発をやらないのは、
シェルスクリプトが適した内容で大規模なものを思いつかないから。
それはそれとして中規模を小規模にするためのフレームワークやライブラリは欲しい。
572デフォルトの名無しさん
2018/09/01(土) 18:46:31.18ID:IN1XIdeB 休日は議論が捗りますね
573デフォルトの名無しさん
2018/09/01(土) 18:46:41.92ID:/wwW4VSs コマンドラインインタープリタを自動化したもんを
シェルスクリプトとというの
頭悪いバカのみんな分かった?
頭悪いバカは用途がわかってない、、、
シェルスクリプトとというの
頭悪いバカのみんな分かった?
頭悪いバカは用途がわかってない、、、
574デフォルトの名無しさん
2018/09/01(土) 18:49:33.52ID:/wwW4VSs たとえばなこのスレにいるような
コマンド叩ける程度の知能しかないオペレーターみたいなヤツが
シェルスクリプトだったらいっぱい自動でコマンド叩けると
必死に主張してるワケ
コマンド叩ける程度の知能しかないオペレーターみたいなヤツが
シェルスクリプトだったらいっぱい自動でコマンド叩けると
必死に主張してるワケ
575デフォルトの名無しさん
2018/09/01(土) 18:55:47.33ID:mPcVbgud お、今気づいたが、git subtreeってそのオプションの多さに比べて、
コードが少し少ないんじゃないか?と思ったら、
https://github.com/git/git/blob/master/contrib/subtree/git-subtree.sh#L11-L33
OPTS_SPECを定義して、git rev-parse --parseopt つかって
何やらオプションを正規化してるんだな
gitにこんな機能があったとは
とは言え、劇的にコードが減ってるわけじゃないから
これなら http://docopt.org/ の方が優れてるな
コードが少し少ないんじゃないか?と思ったら、
https://github.com/git/git/blob/master/contrib/subtree/git-subtree.sh#L11-L33
OPTS_SPECを定義して、git rev-parse --parseopt つかって
何やらオプションを正規化してるんだな
gitにこんな機能があったとは
とは言え、劇的にコードが減ってるわけじゃないから
これなら http://docopt.org/ の方が優れてるな
576デフォルトの名無しさん
2018/09/01(土) 18:59:35.38ID:mPcVbgud577デフォルトの名無しさん
2018/09/01(土) 19:05:44.41ID:/wwW4VSs シェルスクリプトでじかに文字列の処理なんかしないからな
sedやawkを使っても
頭が致命的に悪いとコレもシェルスクリプトで書いてやりたいとなるわけか
なるほどな
sedやawkを使っても
頭が致命的に悪いとコレもシェルスクリプトで書いてやりたいとなるわけか
なるほどな
578デフォルトの名無しさん
2018/09/01(土) 19:08:19.43ID:jmAsDv6y なんの話してたんだっけ?
579デフォルトの名無しさん
2018/09/01(土) 19:09:38.27ID:mPcVbgud サマータイムスレにもいた半角使いのキチガイ野郎かな?
みんな、こいつの味方するの?w
みんな、こいつの味方するの?w
580デフォルトの名無しさん
2018/09/01(土) 19:10:41.10ID:mPcVbgud581デフォルトの名無しさん
2018/09/01(土) 19:17:26.68ID:HKyHRnHf >>568
その理論について詳しく教えてくれw
その理論について詳しく教えてくれw
582デフォルトの名無しさん
2018/09/01(土) 19:20:00.37ID:mPcVbgud583デフォルトの名無しさん
2018/09/01(土) 19:22:31.10ID:4jvmXnIZ ム版来たせいで、ム版名物の半角君も長文君も呼び寄せちゃったか…
584デフォルトの名無しさん
2018/09/01(土) 19:25:33.74ID:HKyHRnHf585デフォルトの名無しさん
2018/09/01(土) 19:27:13.01ID:mPcVbgud >>583
その「長文君」がム板に来る流れを作った張本人という可能性は考えないのかい?w
その「長文君」がム板に来る流れを作った張本人という可能性は考えないのかい?w
586デフォルトの名無しさん
2018/09/01(土) 19:54:56.43ID:HKyHRnHf587デフォルトの名無しさん
2018/09/01(土) 19:55:19.76ID:4jvmXnIZ 嫌われ者の長文君ち〜ッス
588デフォルトの名無しさん
2018/09/01(土) 21:04:14.49ID:2NCbxz5b >>583,587
その二人ともなぜか 俺だけ 優秀と思っている不思議さwだから嫌われ者同士でも互いに嫌ってるのかww
その二人ともなぜか 俺だけ 優秀と思っている不思議さwだから嫌われ者同士でも互いに嫌ってるのかww
589デフォルトの名無しさん
2018/09/01(土) 22:34:21.93ID:/wwW4VSs オレが優秀なワケじゃない
オマエが健常者じゃないだけだからな
まずそこを自覚しないといけない
そこを勘違いしたらダメなワケ
オツムに軽度の障害があるとみなせるぐらい知能に問題がある
オマエが健常者じゃないだけだからな
まずそこを自覚しないといけない
そこを勘違いしたらダメなワケ
オツムに軽度の障害があるとみなせるぐらい知能に問題がある
590デフォルトの名無しさん
2018/09/01(土) 22:59:24.12ID:2NCbxz5b 別にそういう個別特定なのはいいのねん
お前には俺(のレス)がそう見えるというのはお前の価値観からそう見えるのはしょうがない
だがしかし、お前の場合はレス個別に対してじゃないのもあるからな。不特定多数のも。自称健常者は敵が多いからなのか??w
お前には俺(のレス)がそう見えるというのはお前の価値観からそう見えるのはしょうがない
だがしかし、お前の場合はレス個別に対してじゃないのもあるからな。不特定多数のも。自称健常者は敵が多いからなのか??w
591デフォルトの名無しさん
2018/09/01(土) 23:12:57.65ID:2NCbxz5b wwww いや、笑った。すげえなww
低学歴 知恵遅れ 健常者じゃない と、どこのスレでもどのレスでもそういう言葉があるな。すごいなww
ちょっと頭のおかしな人が道中をぶつくさ他人に悪態ついてるのと似てると思うけどなあ。「健常者」なんて普通使わないと思うけど、もしかしたらマジ病気のひと?ww
普通に会話、普通のレスできないの?あったとしたらすまん、あまりにもあういうのばかりで見逃したかもw
低学歴 知恵遅れ 健常者じゃない と、どこのスレでもどのレスでもそういう言葉があるな。すごいなww
ちょっと頭のおかしな人が道中をぶつくさ他人に悪態ついてるのと似てると思うけどなあ。「健常者」なんて普通使わないと思うけど、もしかしたらマジ病気のひと?ww
普通に会話、普通のレスできないの?あったとしたらすまん、あまりにもあういうのばかりで見逃したかもw
592デフォルトの名無しさん
2018/09/01(土) 23:17:02.98ID:/wwW4VSs オレと会話したいの?
残念なことにな、知恵遅れとまともな人間のあいだでは
会話が成立しない
プロトコルが違う
オレと会話したいなら
まず相応のプロトコルを身につけてからだ
残念なことにな、知恵遅れとまともな人間のあいだでは
会話が成立しない
プロトコルが違う
オレと会話したいなら
まず相応のプロトコルを身につけてからだ
593デフォルトの名無しさん
2018/09/01(土) 23:17:24.80ID:mPcVbgud 他スレで長文書いてたw まあ話は進んでないみたいだが
https://medaka.5ch.net/test/read.cgi/php/1474523013/854
https://mevius.5ch.net/test/read.cgi/hp/1533007852/229
今更だがsedって意外と便利に使えるのな。正規表現による範囲指定とか
s///使った単なる置換ぐらいにしか使ってなかった。
書いていたコードが短くなりそうで嬉しいw
https://medaka.5ch.net/test/read.cgi/php/1474523013/854
https://mevius.5ch.net/test/read.cgi/hp/1533007852/229
今更だがsedって意外と便利に使えるのな。正規表現による範囲指定とか
s///使った単なる置換ぐらいにしか使ってなかった。
書いていたコードが短くなりそうで嬉しいw
594デフォルトの名無しさん
2018/09/01(土) 23:18:54.31ID:J8s4Euww 長文はキチガイ
595デフォルトの名無しさん
2018/09/01(土) 23:41:04.17ID:Z9gelboG yesコマンドってPOSIXユーティリティじゃないのか……。
596デフォルトの名無しさん
2018/09/01(土) 23:46:09.11ID:2NCbxz5b >>592
会話のためじゃなかった、なんの為に数々のレスしているの?君は
まあ、自己顕示欲承認欲求からだけだろうなというのは、数々のレスからは垣間見えるけど、そういうことなのね、そういうことでいいのねw
会話のためじゃなかった、なんの為に数々のレスしているの?君は
まあ、自己顕示欲承認欲求からだけだろうなというのは、数々のレスからは垣間見えるけど、そういうことなのね、そういうことでいいのねw
597デフォルトの名無しさん
2018/09/02(日) 00:04:43.96ID:Tb3tt8fk この板をまともな板にするために
この板でレスしてる
オマエみたいな頭悪い低学歴知恵遅れが幅きかせて
いま、この板は正常に機能してない
低学歴知恵遅れは低学歴知恵遅れの自覚がない
しかも自己評価だけは高い
その分タチがワルイ
まともな人間が近寄らない
そしてその自覚すらない
その自覚がないから更生もしない
つまり更生することもないから排除しかない
つまりオレは
素晴らしく情報価値が高いレスを提供すると同時に
この板から低学歴知恵遅れのクソニート、底辺ITドカタを排除する作業を実施している
わかった?
まともな板にするためにな
ひたすらオレはレスをしている
わかった?
この板でレスしてる
オマエみたいな頭悪い低学歴知恵遅れが幅きかせて
いま、この板は正常に機能してない
低学歴知恵遅れは低学歴知恵遅れの自覚がない
しかも自己評価だけは高い
その分タチがワルイ
まともな人間が近寄らない
そしてその自覚すらない
その自覚がないから更生もしない
つまり更生することもないから排除しかない
つまりオレは
素晴らしく情報価値が高いレスを提供すると同時に
この板から低学歴知恵遅れのクソニート、底辺ITドカタを排除する作業を実施している
わかった?
まともな板にするためにな
ひたすらオレはレスをしている
わかった?
598デフォルトの名無しさん
2018/09/02(日) 00:12:57.53ID:elP7igYW やっぱり移動先はLinux板にしといたほうが
良かったんじゃねーの?w
良かったんじゃねーの?w
599デフォルトの名無しさん
2018/09/02(日) 00:14:17.23ID:fQwovzZh >>597
>この板をまともな板にするために
wwwww マジでっ!?
その言っているのは、いろいろ自分にも当てはまるだろうと思うんだけどな
自己顕示欲承認欲求と見なされるのは嫌らしいというのだけはわかったよw
>この板をまともな板にするために
wwwww マジでっ!?
その言っているのは、いろいろ自分にも当てはまるだろうと思うんだけどな
自己顕示欲承認欲求と見なされるのは嫌らしいというのだけはわかったよw
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】運命のW杯抽選会、NHK総合が生中継&DAZNが無料ライブ配信! 今夜 12月5日(金)26時~ ★4 [阿弥陀ヶ峰★]
- 【サッカー】2026年北中米W杯の組み合わせが決定! 日本代表はオランダ、チュニジア、欧州プレーオフB勝者と同組で激突 [久太郎★]
- ひろゆき氏、日中対立に 「結局、人口というのは国力なので。10億人以上いる国に、1億2000万人で対抗可能であるというのが間違い」 [冬月記者★]
- 渡邊渚「性を売ってるくせに」批判に反論 幻滅「これが日本の現状だよなー」「『渾身の下着!』というような意味でやってない」★2 [Ailuropoda melanoleuca★]
- 【千葉】会社で58歳女性刺される 殺人未遂容疑で同僚の中国籍の男(39)逮捕 女性死亡 いすみ市 [ぐれ★]
- 【生成ポルノで初】AI生成の児童ポルノ画像の所持疑いで元教諭を初摘発… [BFU★]
- 【NHK他】FIFAワールドカップ2026 はじまらない組み合わせ抽選★3
- 【NHK他】FIFAワールドカップ2026 はじまらない組み合わせ抽選★4
- とらせんIP ★2
- こいせん 全レス転載禁止
- 西武線 2
- 巨専】
- 【NHK/DAZN/YouTube】FIFAワールドカップ2026組み合わせ抽選★3
- 【01:45NHK~】サッカーW杯2026グルーブ分け組み合わせ抽選会いよいよスタート! ★2 [339712612]
- 【実況】サッカーワールドカップ組み合わせ抽選会
- 【風向き】ヤバい!高市が導入を検討する「防衛特別所得税」、ネトウヨらもまさかの反対の大合唱。。さすがに国民を舐めすぎたか? [219241683]
- 早朝の雑談スレ
- 平和なお🏡🕊
