!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:BBiLRgnj0701デフォルトの名無しさん (アウアウカー Sa87-fvbk)
2018/11/24(土) 14:04:21.10ID:jPqivsUqa 定義されてるかどうかってどういう時に用いるんだ
C言語やってた頃は二重インポート防ぐためとかやってたけど同じような感じ?
C言語やってた頃は二重インポート防ぐためとかやってたけど同じような感じ?
702デフォルトの名無しさん (ワッチョイ 8fbe-pqc8)
2018/11/24(土) 14:31:59.62ID:I8hvszb00 >>700
「一般的」かどうかは知らない。それともその形式がより多く使われているという根拠があるのかな?
いずれにしてもコロンコマンド(と変数展開)がシェルのビルトインとしてPOSIXで定められているのに対して
testコマンドはPOSIXにおいては外部コマンド。尤もBashやZshではシェルに組み込まれてるけど。
外部コマンドを呼び出すのとシェルの内部でコマンドを展開するとでは後者のほうが早いよ。
君にとっては「Qittaクオリティ」でも,速度が優秀なのは君が提示したほうじゃなく「Qittaクオリティ」の方。
「一般的」かどうかは知らない。それともその形式がより多く使われているという根拠があるのかな?
いずれにしてもコロンコマンド(と変数展開)がシェルのビルトインとしてPOSIXで定められているのに対して
testコマンドはPOSIXにおいては外部コマンド。尤もBashやZshではシェルに組み込まれてるけど。
外部コマンドを呼び出すのとシェルの内部でコマンドを展開するとでは後者のほうが早いよ。
君にとっては「Qittaクオリティ」でも,速度が優秀なのは君が提示したほうじゃなく「Qittaクオリティ」の方。
703デフォルトの名無しさん (ワッチョイ 8fbe-pqc8)
2018/11/24(土) 14:49:43.89ID:I8hvszb00 dashでも[はシェル組込だね。実際testユーティリティを外部コマンドに頼ってるシェルって今現在存在しているのだろうか。
Heirloom shellあたりだとありえそう(試してないけど)
Heirloom shellあたりだとありえそう(試してないけど)
704デフォルトの名無しさん (ワッチョイ cf98-/G1A)
2018/11/24(土) 15:54:11.31ID:emfrr2Lm0 > 「一般的」かどうかは知らない。それともその形式がより多く使われているという根拠があるのかな?
ぐぐればコレばっかり見つかるはずだが?
> testコマンドはPOSIXにおいては外部コマンド。尤もBashやZshではシェルに組み込まれてるけど。
全てのシェルで [ はビルトインだ
シェルに組み込まれていないというものがあれば教えてくれ
ぐぐればコレばっかり見つかるはずだが?
> testコマンドはPOSIXにおいては外部コマンド。尤もBashやZshではシェルに組み込まれてるけど。
全てのシェルで [ はビルトインだ
シェルに組み込まれていないというものがあれば教えてくれ
705デフォルトの名無しさん (ワッチョイ cf98-/G1A)
2018/11/24(土) 16:18:05.53ID:emfrr2Lm0 falseコマンドはPOSIXでシェルのビルトインではない
もっともどのシェルでもビルトインになっているが
もっともどのシェルでもビルトインになっているが
706デフォルトの名無しさん (ワッチョイ 8fbe-pqc8)
2018/11/24(土) 17:26:54.56ID:I8hvszb00 >>704
> ググればこればっかり
ほう,それは知らなかった。pws=0にしたGoogle検索英語版では${VAR+:}が多いように見受けられるな。
> 全てのシェルで[はビルトイン
test(1)ユーティリティは,あくまでPOSIXにおいて組込ユーティリティじゃないという話。
根拠はこれ: http://pubs.opengroup.org/onlinepubs/9699919799/idx/sbi.html
> シェルに組み込まれていないというものがあれば教えてくれ
ご査収ください→https://www.unix.com/man-page/v7/1/sh/#neo-man-page-output
> ググればこればっかり
ほう,それは知らなかった。pws=0にしたGoogle検索英語版では${VAR+:}が多いように見受けられるな。
> 全てのシェルで[はビルトイン
test(1)ユーティリティは,あくまでPOSIXにおいて組込ユーティリティじゃないという話。
根拠はこれ: http://pubs.opengroup.org/onlinepubs/9699919799/idx/sbi.html
> シェルに組み込まれていないというものがあれば教えてくれ
ご査収ください→https://www.unix.com/man-page/v7/1/sh/#neo-man-page-output
707デフォルトの名無しさん (ワッチョイ e398-/G1A)
2018/11/24(土) 17:36:50.26ID:b7tmfxF40 >>706
falseがビルトインって話じゃなかったの?w
falseがビルトインって話じゃなかったの?w
708デフォルトの名無しさん (ワッチョイ e398-/G1A)
2018/11/24(土) 17:38:22.47ID:b7tmfxF40 > ほう,それは知らなかった。pws=0にしたGoogle検索英語版では${VAR+:}が多いように見受けられるな。
"${VAR+:}"で検索したけど5件しかなかったよ?
"${VAR+x}"だと約 3,410,000 件
"${VAR+:}"で検索したけど5件しかなかったよ?
"${VAR+x}"だと約 3,410,000 件
709デフォルトの名無しさん (ワッチョイ 8fbe-pqc8)
2018/11/24(土) 17:41:59.00ID:I8hvszb00 ちなみに「すべてのシェル」と言うくらいなのだから,
主要でありPOSIX互換を謳うGNU Bash, Zsh, Debian Almquist shell(dash), yash, MirOS ksh(mksh)くらいについては知らべてるとは思うものの,
POSIXの記述を知らないようなので,
一応,これら5つのシェルがtest(1)ユーティリティを組込コマンドにしているという根拠を以下に挙げておこう。
GNU Bash: https://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Builtins.html#Bourne-Shell-Builtins
Zsh: http://zsh.sourceforge.net/Doc/Release/Shell-Builtin-Commands.html#Shell-Builtin-Commands
dash: http://man7.org/linux/man-pages/man1/dash.1.html
yash: https://yash.osdn.jp/doc/ja/#alpha-order
mksh: https://www.mirbsd.org/htman/i386/man1/mksh.htm
主要でありPOSIX互換を謳うGNU Bash, Zsh, Debian Almquist shell(dash), yash, MirOS ksh(mksh)くらいについては知らべてるとは思うものの,
POSIXの記述を知らないようなので,
一応,これら5つのシェルがtest(1)ユーティリティを組込コマンドにしているという根拠を以下に挙げておこう。
GNU Bash: https://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Builtins.html#Bourne-Shell-Builtins
Zsh: http://zsh.sourceforge.net/Doc/Release/Shell-Builtin-Commands.html#Shell-Builtin-Commands
dash: http://man7.org/linux/man-pages/man1/dash.1.html
yash: https://yash.osdn.jp/doc/ja/#alpha-order
mksh: https://www.mirbsd.org/htman/i386/man1/mksh.htm
710デフォルトの名無しさん (ワッチョイ 8fbe-pqc8)
2018/11/24(土) 17:44:33.96ID:I8hvszb00711デフォルトの名無しさん (ワッチョイ 8fbe-pqc8)
2018/11/24(土) 17:47:23.27ID:I8hvszb00 ちなみにfalse(1)ユーティリティもPOSIXにおいてシェル組込みとして定められている訳ではない。
712デフォルトの名無しさん (ワッチョイ ffb3-8s0F)
2018/11/24(土) 17:49:01.92ID:362BcdsM0 となると処理速度的にはどっちが良いの?
713デフォルトの名無しさん (ワッチョイ e398-/G1A)
2018/11/24(土) 17:50:38.66ID:b7tmfxF40 いや、俺が言ったことを復唱されてもこまるんだがw
ちなみにビルトインかどうかはPATHを空にして実行できるかどうかでわかるよ
builtinやtypeがないシェルもあるからね
ちなみにビルトインかどうかはPATHを空にして実行できるかどうかでわかるよ
builtinやtypeがないシェルもあるからね
714デフォルトの名無しさん (ワッチョイ e398-/G1A)
2018/11/24(土) 17:51:02.76ID:b7tmfxF40 >>712
大差なし
大差なし
715デフォルトの名無しさん (ワッチョイ 8fbe-pqc8)
2018/11/24(土) 18:05:17.83ID:I8hvszb00 >>712
大差ないけど,ただ,もしもPOSIXで定めらていないのを理由にしてtest(1)ユーティリティを組み込んでいないシェルがあったとして
そのシェルにおいては変数展開(これは確実にシェルが仕事する)のほうがtest(1)ユーティリティをforkしてexecするより若干早いので
速度は${VAR+:}のほうが上。
大差ないけど,ただ,もしもPOSIXで定めらていないのを理由にしてtest(1)ユーティリティを組み込んでいないシェルがあったとして
そのシェルにおいては変数展開(これは確実にシェルが仕事する)のほうがtest(1)ユーティリティをforkしてexecするより若干早いので
速度は${VAR+:}のほうが上。
716デフォルトの名無しさん (ワッチョイ 8fbe-pqc8)
2018/11/24(土) 18:06:48.53ID:I8hvszb00 >>713
typeはPOSIXで定められているので,もしないシェルがあればPOSIX互換ではない。
つまり「ビルトインコマンド」なんていう概念はないかもしれないので,そんなことを調べるのは無駄に思えるな。
typeはPOSIXで定められているので,もしないシェルがあればPOSIX互換ではない。
つまり「ビルトインコマンド」なんていう概念はないかもしれないので,そんなことを調べるのは無駄に思えるな。
717デフォルトの名無しさん (ワッチョイ e398-/G1A)
2018/11/24(土) 19:13:13.38ID:b7tmfxF40 へー、poshはPOSIX互換じゃなかったのか
>Debian Policy に準拠した普通のシェル
>posh は、pdksh の軽装版であり、Debian ポリシーの準拠を目指し、 いくつかの特別な機能を付け加えたものです。
>
>警告: Debian の /bin/sh スクリプトの多くは、実際はポリシーに準拠していると は限りませんので、
>posh を /bin/sh として使うと破損箇所が判明するかもしれま せん。
って書いてある割に大したことないな
>Debian Policy に準拠した普通のシェル
>posh は、pdksh の軽装版であり、Debian ポリシーの準拠を目指し、 いくつかの特別な機能を付け加えたものです。
>
>警告: Debian の /bin/sh スクリプトの多くは、実際はポリシーに準拠していると は限りませんので、
>posh を /bin/sh として使うと破損箇所が判明するかもしれま せん。
って書いてある割に大したことないな
718デフォルトの名無しさん (ワッチョイ 8fbe-pqc8)
2018/11/24(土) 20:44:49.31ID:I8hvszb00 まあ ここまでPOSIX POSIX連呼しときながらアレだけども,
別にシェルってPOSIX shに準拠してる必要性なんてまったくないよなw
poshも「POSIX互換じゃないシェル」として,便利に使えるようになればそれでいい。
実際,俺は使っていないものの,同級生にはfishを勧めてる。
別にシェルってPOSIX shに準拠してる必要性なんてまったくないよなw
poshも「POSIX互換じゃないシェル」として,便利に使えるようになればそれでいい。
実際,俺は使っていないものの,同級生にはfishを勧めてる。
719デフォルトの名無しさん (アウアウカー Sa87-fvbk)
2018/11/24(土) 20:55:10.29ID:32uSmIhta ポジクッス警察がいるから多少はね?
720デフォルトの名無しさん (ワッチョイ e398-/G1A)
2018/11/24(土) 20:57:06.31ID:b7tmfxF40 それじゃ俺も言っておかなきゃいかんのか?
まあ ここまでPOSIX POSIX連呼しときながらアレだけども,
別にシェルってPOSIX shに準拠してる必要性なんてまったくなくて
POSIXに準拠していなくても、現実にPOSIX互換の標準シェルとして
デフォルトシェルで採用されているのであればそれに対応すべきだと思っている
だから、dash、(busybox)ash、bash、ksh あたりは対応必須で
zsh、posh、yash、あたりは優先度が低い。mksh、pdkshは
デフォルトシェルとして採用されている事例があるのかわからんが
まあ ここまでPOSIX POSIX連呼しときながらアレだけども,
別にシェルってPOSIX shに準拠してる必要性なんてまったくなくて
POSIXに準拠していなくても、現実にPOSIX互換の標準シェルとして
デフォルトシェルで採用されているのであればそれに対応すべきだと思っている
だから、dash、(busybox)ash、bash、ksh あたりは対応必須で
zsh、posh、yash、あたりは優先度が低い。mksh、pdkshは
デフォルトシェルとして採用されている事例があるのかわからんが
721デフォルトの名無しさん (ワッチョイ e398-/G1A)
2018/11/24(土) 20:58:50.94ID:b7tmfxF40 俺は現実主義なんでね。標準とか仕様がどうこうよりも
現実としてそれは選択肢にならないのであれば、選択肢にならないし
非標準でも選択肢としてなり得るのならそれを使う
現実としてそれは選択肢にならないのであれば、選択肢にならないし
非標準でも選択肢としてなり得るのならそれを使う
722デフォルトの名無しさん (ブーイモ MM1f-XNyg)
2018/11/24(土) 23:48:23.42ID:u7Q7GReoM ポジコレ棒で葬ってやんよ
723デフォルトの名無しさん (ワッチョイ 8fbe-pqc8)
2018/11/25(日) 07:40:30.00ID:rsPEFWOD0 もっと面白い書き込みして、どうぞ。
724デフォルトの名無しさん (ワッチョイ ffb3-8s0F)
2018/11/25(日) 12:05:00.87ID:Yow09MRJ0 >>715
その前提条件で言えば false も組み込みじゃないかもしれないのだから同じじゃないの?
変数が定義されていれば false は実行されないけど、未定義かどうかを確認したいから
実行するわけで。
ただ、fork and exec に関して言えば test コマンドが 1.1ms, false コマンド は 0.8ms 程度
(コマンドバイナリのテキストセクションがメモリキャッシュされている場合で、実行環境は
Intel Xeon E3-1220 3.1GHz/Linux kernel 4.15.0/glibc 2.27)。何千回も実行する様なケース
なら違いが分かるかも。
その前提条件で言えば false も組み込みじゃないかもしれないのだから同じじゃないの?
変数が定義されていれば false は実行されないけど、未定義かどうかを確認したいから
実行するわけで。
ただ、fork and exec に関して言えば test コマンドが 1.1ms, false コマンド は 0.8ms 程度
(コマンドバイナリのテキストセクションがメモリキャッシュされている場合で、実行環境は
Intel Xeon E3-1220 3.1GHz/Linux kernel 4.15.0/glibc 2.27)。何千回も実行する様なケース
なら違いが分かるかも。
725デフォルトの名無しさん (ワッチョイ d398-/G1A)
2018/11/25(日) 12:16:11.88ID:wMoGqmE60 POSIXでビルトインの方が速いって決まってるんだっけ?
726デフォルトの名無しさん (ワッチョイ e323-G2K7)
2018/11/25(日) 12:29:43.54ID:nRWf72Y30 >>725
外部コマンドはforkが発生するから結果的にビルトインの方が速い
外部コマンドはforkが発生するから結果的にビルトインの方が速い
727デフォルトの名無しさん (ワッチョイ d398-/G1A)
2018/11/25(日) 12:32:22.92ID:wMoGqmE60 いやPOSIXでどうなっているかの話だよ
728デフォルトの名無しさん (ワッチョイ ffd2-8s0F)
2018/11/25(日) 13:54:00.21ID:eaHucPl10 なんやこのバカwwww
729デフォルトの名無しさん (ワッチョイ e323-G2K7)
2018/11/25(日) 14:01:17.29ID:nRWf72Y30 >>727
下のページをざっと見る限り規定されてないように思う
オーバヘッドがある分遅いのは自明だからPOSIXが云々は関係ない話だとは思う
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html
下のページをざっと見る限り規定されてないように思う
オーバヘッドがある分遅いのは自明だからPOSIXが云々は関係ない話だとは思う
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html
730デフォルトの名無しさん (ワッチョイ c364-m15j)
2018/11/25(日) 18:36:53.00ID:74eaLfxV0 多分,なんでもPOSIX POSIXと言うので,からかってやろうとしたんだろう。
「お前の主張は全部POSIXに起源があるのか?」ってな。
まあ結果としてはネタにマジレスの嵐だった訳だがw
「お前の主張は全部POSIXに起源があるのか?」ってな。
まあ結果としてはネタにマジレスの嵐だった訳だがw
731デフォルトの名無しさん (オッペケ Sr47-ZXAZ)
2018/11/26(月) 12:25:16.95ID:RdZe26lCr 必死すぎる言い訳のせいで逆にひかれてしまったパターンw
732デフォルトの名無しさん (アメ MMe7-9KmN)
2018/11/26(月) 12:32:05.28ID:mqDjQZG/M とっても惹かれます
733デフォルトの名無しさん (ワッチョイ cf98-/G1A)
2018/11/26(月) 12:44:40.04ID:sgq1LDCF0 スプラッターやめろ
734デフォルトの名無しさん (ワッチョイ c336-CvEX)
2018/11/26(月) 17:46:57.26ID:M+tccdiG0 echoでログを残そうとしています。
echo "メッセージ" > ログファイル
で、ログファイルはNASに保存しようと考えているのですが
NASがなんらかの原因で見えない場合、bashだと無視して処理を続けるのに
cshだと、echoのとこで止まってしまいます。
止まらないようにする方法とかないですか?
echo "メッセージ" > ログファイル
で、ログファイルはNASに保存しようと考えているのですが
NASがなんらかの原因で見えない場合、bashだと無視して処理を続けるのに
cshだと、echoのとこで止まってしまいます。
止まらないようにする方法とかないですか?
735デフォルトの名無しさん (ドコグロ MMc7-I6zH)
2018/11/26(月) 20:45:32.63ID:dIk0IZ2NM736デフォルトの名無しさん (ワッチョイ 6f9f-KQkZ)
2018/11/27(火) 00:51:26.43ID:IxTjeZ9T0737デフォルトの名無しさん (ワッチョイ 638a-OaPJ)
2018/11/27(火) 02:59:30.28ID:vfcz+SK40 なぜかアホの子ってnfsをローカルファイルシステムと同様に信用しちゃうよね
738デフォルトの名無しさん (ドコグロ MMdf-I6zH)
2018/11/27(火) 07:15:38.13ID:EYppSGpIM 唐突にお前の仲間の話しされても困る
739デフォルトの名無しさん (オッペケ Sr47-U4w/)
2018/11/28(水) 08:43:07.23ID:lgqPOMnJr740デフォルトの名無しさん (ワッチョイ 638a-OaPJ)
2018/11/28(水) 09:03:44.81ID:6Gc6vrWs0 NFS特有のエラーがあるとは思いもしなかったりするんだよな。
挙げ句の果てにファイルロックがうまく動かないとか言い出す。
挙げ句の果てにファイルロックがうまく動かないとか言い出す。
741デフォルトの名無しさん (ワッチョイ d398-/G1A)
2018/11/28(水) 12:41:41.17ID:V/2Czdkr0 所詮、ネットワークを介したファイル共有だからね
ディスクはアクセスできない = 故障 と考えていいけど
ネットワークは一時的な切断やエラー、大きな遅延が想定される
だからリトライやタイムアウトといった処理を行う
通常のディスクアクセスを行うコードは、こういった
ネットワーク特有の事象について考慮されてない場合が多い
だから(NFSの設定により)ネットワーク通信が正常に完了
できるまで待ち続ける(プログラムはタイムアウトしないのでフリーズした状態)
もしくは一時的な接続不良でエラー終了したりする
ディスクはアクセスできない = 故障 と考えていいけど
ネットワークは一時的な切断やエラー、大きな遅延が想定される
だからリトライやタイムアウトといった処理を行う
通常のディスクアクセスを行うコードは、こういった
ネットワーク特有の事象について考慮されてない場合が多い
だから(NFSの設定により)ネットワーク通信が正常に完了
できるまで待ち続ける(プログラムはタイムアウトしないのでフリーズした状態)
もしくは一時的な接続不良でエラー終了したりする
742デフォルトの名無しさん (ワッチョイ c364-m15j)
2018/11/28(水) 20:10:37.32ID:N04UITTm0 シェルスクリプトの関数の名前の直後の括弧って あれはshに
「これは関数の名前ですよ」って教えるためのものっていう認識でOK?
foo() {
echo foo
}
↑こういうのの「()」。なんかCやらと同じように引数の指定とかができたらいいのにと
初心者ながら思ったんだけど そういう訳でもなさそうだし。
「これは関数の名前ですよ」って教えるためのものっていう認識でOK?
foo() {
echo foo
}
↑こういうのの「()」。なんかCやらと同じように引数の指定とかができたらいいのにと
初心者ながら思ったんだけど そういう訳でもなさそうだし。
743デフォルトの名無しさん (アウアウカー Sa87-fvbk)
2018/11/28(水) 20:12:50.29ID:aLWNsKMba えっ
744デフォルトの名無しさん (アウアウウー Sa27-ml8p)
2018/11/28(水) 20:22:26.38ID:wHjpMIAFa 引数は $1, $2 とかで受け取る。
呼び出す側は普通のコマンド実行のように書く。
呼び出す側は普通のコマンド実行のように書く。
745デフォルトの名無しさん (ブーイモ MMe7-X8Q6)
2018/11/28(水) 20:31:09.87ID:Vqd4vFOqM746デフォルトの名無しさん (ワッチョイ db64-VZvV)
2018/11/29(木) 13:01:23.15ID:Msn7clch0 >>745
なるほど。
「(」はサブシェルの開始だと思ってたけど
そうでもないんだね……。
シェルの構文ってちょっと難しいことすると途端に複雑怪奇になるな(俺の頭の問題かも知れんがw)
対話的な利用を前提にした設計だから仕方無いとは言え、Pythonみたいに対話状態でもバッチ状態でも扱いやすくできなかったのかな。
なるほど。
「(」はサブシェルの開始だと思ってたけど
そうでもないんだね……。
シェルの構文ってちょっと難しいことすると途端に複雑怪奇になるな(俺の頭の問題かも知れんがw)
対話的な利用を前提にした設計だから仕方無いとは言え、Pythonみたいに対話状態でもバッチ状態でも扱いやすくできなかったのかな。
747デフォルトの名無しさん (ワッチョイ 5f98-r3MB)
2018/11/29(木) 13:04:56.47ID:lCOis1qI0 小学生が政治語ってるのを聞いてる気分だ
748デフォルトの名無しさん (ワッチョイ db64-VZvV)
2018/11/29(木) 14:34:26.85ID:Msn7clch0 「どうして解散するですか?」
749デフォルトの名無しさん (ワッチョイ 9ab3-uhYH)
2018/11/29(木) 15:57:37.21ID:QFUJhwUI0 Python を使えばいいんじゃないかな
750デフォルトの名無しさん (ワッチョイ 5f98-r3MB)
2018/11/29(木) 16:07:41.49ID:lCOis1qI0 Pythonは構文が複雑怪奇すぎる
かっこは関数呼び出しの引数の開始だと思っていたのに
関数を定義するときにも使うらしい
とかいうだろうな
かっこは関数呼び出しの引数の開始だと思っていたのに
関数を定義するときにも使うらしい
とかいうだろうな
751デフォルトの名無しさん (アメ MMff-egAi)
2018/11/29(木) 16:11:55.77ID:qd4rCcG0M wwwww
752デフォルトの名無しさん (アウアウウー Sa47-2q9Y)
2018/11/29(木) 19:19:50.88ID:8tueZiBHa そしてあらゆる言語が気に入らず、新たな言語がまた一つ作られるのであった。
753デフォルトの名無しさん (アメ MMff-egAi)
2018/11/29(木) 19:39:24.56ID:qd4rCcG0M − 世界には1,400もの競合するプログラミング言語があった −
「1,400だって!? バカげてる! み全ての用途をうまくこなす統一言語の開発が必要だ!」
「そのとおりだわ!」
やがて…
− 世界には1,401もの競合するプログラミング言語があった −
https://imgs.xkcd.com/comics/standards.png
「1,400だって!? バカげてる! み全ての用途をうまくこなす統一言語の開発が必要だ!」
「そのとおりだわ!」
やがて…
− 世界には1,401もの競合するプログラミング言語があった −
https://imgs.xkcd.com/comics/standards.png
754デフォルトの名無しさん (ワッチョイ 838a-qnZY)
2018/11/29(木) 20:23:55.28ID:DaeVxseX0 >>753
男女の仲違いでもう2個増えるんだろ?
男女の仲違いでもう2個増えるんだろ?
755デフォルトの名無しさん (アウアウカー Sa43-WtRx)
2018/11/29(木) 20:25:46.41ID:dRsmoy+za 新しいのを作るんじゃなくて既存のを潰さないとな
756デフォルトの名無しさん (ワッチョイ 9ad2-uhYH)
2018/11/29(木) 20:45:38.03ID:C+POVdju0 (中二なんかな・・・)
757デフォルトの名無しさん (ワッチョイ db64-VZvV)
2018/11/29(木) 21:43:22.71ID:Msn7clch0 中二だろうがなんだろうが良いソフトウェアを作ってくれればそれでいい。
758デフォルトの名無しさん (ワッチョイ 9ad2-uhYH)
2018/11/29(木) 22:17:13.73ID:C+POVdju0 >>757
そおやってすぐ他人に頼ろうとするからいつまでたってもクズなんやおまえ
そおやってすぐ他人に頼ろうとするからいつまでたってもクズなんやおまえ
759デフォルトの名無しさん (ワッチョイ db64-VZvV)
2018/11/30(金) 01:40:39.33ID:ZZJKHSVT0 ワロタ
760デフォルトの名無しさん (ワッチョイ b69f-BnCY)
2018/11/30(金) 08:21:31.28ID:ShAjvwZw0 目的を見失ってるよね
道具であるはずの言語そのものを作り出すってのは
だからって、なんでもアセンブラってわけにもいかないが
道具であるはずの言語そのものを作り出すってのは
だからって、なんでもアセンブラってわけにもいかないが
761デフォルトの名無しさん (アウアウウー Sa47-2q9Y)
2018/11/30(金) 09:15:03.33ID:vx8Iixcxa タイヤは永遠に発明され続ける。
762デフォルトの名無しさん (アウアウカー Sa43-WtRx)
2018/11/30(金) 09:32:04.72ID:n+1J2GMZa (車輪じゃね?)
763デフォルトの名無しさん (アウアウウー Sa47-2q9Y)
2018/11/30(金) 09:38:04.79ID:vx8Iixcxa あ、そうか。まあどっちでもいいが。
764デフォルトの名無しさん (ワッチョイ 838a-qnZY)
2018/11/30(金) 09:40:18.92ID:5+dLrTA80 現代だって刀鍛冶とかいるじゃん
765デフォルトの名無しさん (ワッチョイ 2398-r3MB)
2018/11/30(金) 09:53:55.88ID:pEng5xY00 発明、改良と生産は違う
タイヤ、車輪で行われてるのは、発明ではなくて生産
発明こそ行われなくとも、小規模な改良は続いている
刀鍛冶も生産だろう。改良している人がいるのかは知らんが。
様々なデザインの洋服など、改良しているわけじゃないが
新しいものを作るっていうのはなんというべきだろうね
生産なんだが古い、新しいという概念はある。
だけど好みの違いでしか無いので改良とも違う
多くのものは改良されて続けているが、改良するためには
まず生産能力が必要。同じものを作れなければ改良はできないだろう
タイヤ、車輪で行われてるのは、発明ではなくて生産
発明こそ行われなくとも、小規模な改良は続いている
刀鍛冶も生産だろう。改良している人がいるのかは知らんが。
様々なデザインの洋服など、改良しているわけじゃないが
新しいものを作るっていうのはなんというべきだろうね
生産なんだが古い、新しいという概念はある。
だけど好みの違いでしか無いので改良とも違う
多くのものは改良されて続けているが、改良するためには
まず生産能力が必要。同じものを作れなければ改良はできないだろう
766デフォルトの名無しさん (ワッチョイ 2398-r3MB)
2018/11/30(金) 10:02:51.33ID:pEng5xY00 今の言語は最高とまでは言えない。
いつしか高級言語への進化が止まって、
単なる改良しか行われなくなってしまった
高級言語を超える、超高級言語が必要
俺にはそのアイデアがあるが、なにぶん能力がないw
目的は、超高級言語の開発だが、そのためには
まず言語が作れるようにならないといけないだろうな
ちなみに超高級言語のアイデアとは、現在設計書として
自然文で書いてあるものをプログラム言語として
記述可能にしようというもの。今の言語はモジュールやクラス構造までは
プログラム言語で記述できるが、プロジェクト全体の構造までは記述できない
例えば、Railsなどのフレームワークのmodelsやcontrollersといったディレクトリ構造は
プロジェクトで決まっているにもかからわず、ドキュメントで書くしかない。
だからmodelsに置くべきものをcontrollersにおいたり、modelsではやっては
いけないような処理をやることが出来てしまう。コンパイルエラーにも実行時エラーにもならない
いつしか高級言語への進化が止まって、
単なる改良しか行われなくなってしまった
高級言語を超える、超高級言語が必要
俺にはそのアイデアがあるが、なにぶん能力がないw
目的は、超高級言語の開発だが、そのためには
まず言語が作れるようにならないといけないだろうな
ちなみに超高級言語のアイデアとは、現在設計書として
自然文で書いてあるものをプログラム言語として
記述可能にしようというもの。今の言語はモジュールやクラス構造までは
プログラム言語で記述できるが、プロジェクト全体の構造までは記述できない
例えば、Railsなどのフレームワークのmodelsやcontrollersといったディレクトリ構造は
プロジェクトで決まっているにもかからわず、ドキュメントで書くしかない。
だからmodelsに置くべきものをcontrollersにおいたり、modelsではやっては
いけないような処理をやることが出来てしまう。コンパイルエラーにも実行時エラーにもならない
767デフォルトの名無しさん (アウアウカー Sa43-WtRx)
2018/11/30(金) 11:38:14.68ID:n+1J2GMZa 3行で
768デフォルトの名無しさん (アウアウウー Sa47-2q9Y)
2018/11/30(金) 12:29:51.33ID:vx8Iixcxa 超
高級言語が
必要
高級言語が
必要
769デフォルトの名無しさん (オッペケ Sr3b-xhs3)
2018/11/30(金) 12:30:21.78ID:+/lt4tPpr タイヤと
車輪は
同じもの
車輪は
同じもの
770デフォルトの名無しさん (アウアウウー Sa47-2q9Y)
2018/11/30(金) 12:47:31.33ID:vx8Iixcxa も
う
止めよう
う
止めよう
771デフォルトの名無しさん (ワッチョイ 9ab3-uhYH)
2018/11/30(金) 13:04:32.40ID:iEacaeBh0 実は
CASEツール
です
CASEツール
です
772デフォルトの名無しさん (ワッチョイ db64-VZvV)
2018/11/30(金) 15:46:57.55ID:ZZJKHSVT0 それずっと前にKnuthが実践してた文芸作譜と同じじゃね?
そしてアレは超絶面倒な作業。
そしてアレは超絶面倒な作業。
774デフォルトの名無しさん (ブーイモ MM26-6Zjp)
2018/12/01(土) 01:32:04.95ID:3WCvWAVjM 言語に縛られてるから駄目なんだよ
とか言ってみる
とか言ってみる
775デフォルトの名無しさん (ワッチョイ 9ab3-uhYH)
2018/12/01(土) 02:53:09.42ID:7CoKqMj50 「縛られるのが好き」ってプログラマ、結構多いんですよ
とか言ってみる
とか言ってみる
776デフォルトの名無しさん (オッペケ Sr3b-xhs3)
2018/12/01(土) 07:47:52.11ID:U3mK8vlPr 下ネタはもっと堂々と言わな逆にいやらしく感じるで
777デフォルトの名無しさん (ワッチョイ be33-4HQR)
2018/12/01(土) 10:18:14.73ID:Ly5JuDld0 全部縛ってヤってなんぼだと思うんです。
とか言ってみる。
とか言ってみる。
778デフォルトの名無しさん (ワッチョイ 2398-r3MB)
2018/12/01(土) 10:47:37.07ID:Km1sjdO20 お前らくだらない話ばっかり盛り上がるな
779デフォルトの名無しさん (オッペケ Sr3b-xhs3)
2018/12/01(土) 12:34:48.97ID:U3mK8vlPr さほど盛り上がっとらんやろw
人と関われよw
人と関われよw
780デフォルトの名無しさん (ワッチョイ 9a1d-C0zt)
2018/12/02(日) 02:44:47.66ID:+c90NOTB0 まあ 使える言語は多いほうが手広いわな
781デフォルトの名無しさん (オッペケ Sr3b-OA46)
2018/12/02(日) 17:31:01.53ID:OYZHkh2Or782デフォルトの名無しさん (ワッチョイ 76e7-97PR)
2018/12/02(日) 18:30:06.74ID:RWr+AACs0 自由に安くやってが最も困る。
783デフォルトの名無しさん (ワッチョイ db64-VZvV)
2018/12/04(火) 18:22:49.34ID:VVlGsdy50 find(1)ユーティリティの速度に関しての疑問なんだけど
https://linuxjm.osdn.jp/html/GNU_findutils/man1/find.1.html#lbAO
ここに
「検査 -name を -type の前に置いているのは、すべてのファイルに対して stat(2) システムコールを行う無駄を省くためである。」
とある。これは「find(1)は-nameのほうが-typeより処理速度が速い」ということを言っているよね。
実のところ手元ではfindが優秀すぎるのか知らんが-nameを-typeより前に書いても後に書いても速度に変化はなかった。
が 基本的にはfindで複数の条件を指定するときは-nameを先頭あたりに置いたほうがいいのかな。
findのソースコードを見てないので推測になるが-permや-newerもstat(2)を実行してるぽいので-nameより遅い筈。
https://linuxjm.osdn.jp/html/GNU_findutils/man1/find.1.html#lbAO
ここに
「検査 -name を -type の前に置いているのは、すべてのファイルに対して stat(2) システムコールを行う無駄を省くためである。」
とある。これは「find(1)は-nameのほうが-typeより処理速度が速い」ということを言っているよね。
実のところ手元ではfindが優秀すぎるのか知らんが-nameを-typeより前に書いても後に書いても速度に変化はなかった。
が 基本的にはfindで複数の条件を指定するときは-nameを先頭あたりに置いたほうがいいのかな。
findのソースコードを見てないので推測になるが-permや-newerもstat(2)を実行してるぽいので-nameより遅い筈。
784デフォルトの名無しさん (ワッチョイ 83b3-C+j/)
2018/12/04(火) 18:56:51.46ID:bTQB60BC0 statが遅いと言うのも幻想
785デフォルトの名無しさん (ブーイモ MMba-X2R9)
2018/12/04(火) 19:07:42.58ID:HBlgjyZNM 最近のファイルシステムはreaddirでタイプが取得できるよ
786デフォルトの名無しさん (ワッチョイ 938a-+wPc)
2018/12/06(木) 00:12:43.36ID:pQ33EIUW0 >>783
http://linuxjm.osdn.jp/html/GNU_findutils/man1/find.1.html#lbAE
-Olevel
1
これはデフォルトの最適化レベルであり、伝統的な動作に当たる。 式を並べ替えるとき、ファイル名にのみ基づいた検査 (たとえば、 -name や -regex) が先に実行されるようにする。
http://linuxjm.osdn.jp/html/GNU_findutils/man1/find.1.html#lbAE
-Olevel
1
これはデフォルトの最適化レベルであり、伝統的な動作に当たる。 式を並べ替えるとき、ファイル名にのみ基づいた検査 (たとえば、 -name や -regex) が先に実行されるようにする。
787デフォルトの名無しさん (ワッチョイ 9164-5svG)
2018/12/06(木) 09:10:09.33ID:cC0kDT7D0788デフォルトの名無しさん (ワッチョイ 9164-5svG)
2018/12/06(木) 15:10:37.27ID:cC0kDT7D0 引数に一律にコマンドで操作を施したあと、それらをもう一度引数として扱うにはどうすればいいかな
$ a.sh arg1 arg2 arg3
みたいに起動されたとして$1,2,3にはarg1,2,3が入ってる。
これを$(echo $1 | tr '[:lower:]' '[:upper:]')みたいなコマンド置換を使ってARG1,2,3みたいに変形させる。
問題はこの後にa.shの中の別のコマンドに
somecmd "$@"
のような形でARG1,2,3を与えたいってこと。
while [ $# -eq 0 ]とshiftを使う普通のやりかたではループを抜けた後に$@が空になってしまう。
どうにかして引数の構造を維持したいんだけども……。
$ a.sh arg1 arg2 arg3
みたいに起動されたとして$1,2,3にはarg1,2,3が入ってる。
これを$(echo $1 | tr '[:lower:]' '[:upper:]')みたいなコマンド置換を使ってARG1,2,3みたいに変形させる。
問題はこの後にa.shの中の別のコマンドに
somecmd "$@"
のような形でARG1,2,3を与えたいってこと。
while [ $# -eq 0 ]とshiftを使う普通のやりかたではループを抜けた後に$@が空になってしまう。
どうにかして引数の構造を維持したいんだけども……。
789デフォルトの名無しさん (ワッチョイ e1e1-eDAb)
2018/12/06(木) 16:06:47.11ID:59uVculK0 >>788
eval set -- $(printf ' "$(printf "%%s" "$%d" | tr "[:lower:]" "[:upper:]")"' $(seq $#))
eval set -- $(printf ' "$(printf "%%s" "$%d" | tr "[:lower:]" "[:upper:]")"' $(seq $#))
790デフォルトの名無しさん (ワッチョイ 9164-5svG)
2018/12/06(木) 16:38:57.36ID:cC0kDT7D0 >>789
ありがとう。
ありがとう。
791デフォルトの名無しさん (ワッチョイ e19b-IYXC)
2018/12/12(水) 21:07:46.42ID:7+bnD1C/0 ここかどうかわからんのだけど、メールの添付ファイルのテキストCSV部分を切り出してDB格納しようと思ったら、
シェルスクリプトでヘッダから切り出すしかない?
シェルスクリプトでヘッダから切り出すしかない?
792デフォルトの名無しさん (ワッチョイ 5b76-3SjK)
2018/12/12(水) 21:36:28.16ID:xr4it+i10 そういう専用ツールがないんだったらそうだろうな
793デフォルトの名無しさん (ワッチョイ f398-2dqZ)
2018/12/13(木) 19:34:10.52ID:Nc8J2Ufn0 >>550
別件でググっていたら、言及しているドキュメント見つけた
${1+"$@"} で動かないシェルもあるようだ
http://web.sfc.wide.ad.jp/~sagawa/gnujdoc/autoconf-2.59/autoconf-ja_10.html
> 最も有名なシェルの移植性の問題の一つは,`"$@"'との関連です.位置に 依存する引数が無いとき,
> POSIXでは`"$@"'を何もないことと 等価になっていますが,オリジナルのUnixバージョン7の
> Bourneシェルはその代 わりに`""'として扱い,この動作はDigital Unix 5.0のようにそれ以降の 実装でも提供されています.
>
> この移植性の問題を回避する伝統的な方法は,`${1+"$@"}'を使用する ことです.
> 残念ながら,この手法はMac OS Xでも使用されている,Zsh (3.x と 4.x)では動作しません.
> Bourneシェルをエミュレートしているとき,Zshは `${1+"$@"}'で単語の分離を実行します.
別件でググっていたら、言及しているドキュメント見つけた
${1+"$@"} で動かないシェルもあるようだ
http://web.sfc.wide.ad.jp/~sagawa/gnujdoc/autoconf-2.59/autoconf-ja_10.html
> 最も有名なシェルの移植性の問題の一つは,`"$@"'との関連です.位置に 依存する引数が無いとき,
> POSIXでは`"$@"'を何もないことと 等価になっていますが,オリジナルのUnixバージョン7の
> Bourneシェルはその代 わりに`""'として扱い,この動作はDigital Unix 5.0のようにそれ以降の 実装でも提供されています.
>
> この移植性の問題を回避する伝統的な方法は,`${1+"$@"}'を使用する ことです.
> 残念ながら,この手法はMac OS Xでも使用されている,Zsh (3.x と 4.x)では動作しません.
> Bourneシェルをエミュレートしているとき,Zshは `${1+"$@"}'で単語の分離を実行します.
794デフォルトの名無しさん (ワッチョイ 2364-kyah)
2018/12/16(日) 07:48:44.86ID:AoQUSXZn0 Bashってシングルクォートの内部でない限りバックスラッシュでシングルクオートを直接エスケープできるんだな。
マニュアルにも書いてないけど他人のスクリプト見て発見した。
$ squo=\'
$ echo $squo
'
↑こうできる。Bashは楽でいいなぁ
マニュアルにも書いてないけど他人のスクリプト見て発見した。
$ squo=\'
$ echo $squo
'
↑こうできる。Bashは楽でいいなぁ
795デフォルトの名無しさん (ワッチョイ 2b23-Ufcq)
2018/12/16(日) 09:07:44.57ID:rkLF3tWt0 >>794
水を差すようで悪いがposixで規定されているから他のシェルでも同じになる
水を差すようで悪いがposixで規定されているから他のシェルでも同じになる
796デフォルトの名無しさん (アウアウカー Sa6b-+gtp)
2018/12/16(日) 09:55:51.26ID:0jv0YmXXa なぜそれを特別に思ったのかわからんけど他は出来なかったりするの?
797デフォルトの名無しさん (アウアウウー Sa4f-mTCp)
2018/12/17(月) 19:35:33.43ID:41bJ0tdVa \ はエスケープだし使う事はあるので特に目新しい感じはしない。
sambaでファイルサーバ作ってWindowsからもファイルが書かれるような状況だとファイル名にスペースだの括弧だの普通に入れられてLinuxでログインしている端末からだとエスケープせざるを得なかったりする。
俺の場合はそれで一文字だけエスケープはよく使う。
sambaでファイルサーバ作ってWindowsからもファイルが書かれるような状況だとファイル名にスペースだの括弧だの普通に入れられてLinuxでログインしている端末からだとエスケープせざるを得なかったりする。
俺の場合はそれで一文字だけエスケープはよく使う。
798デフォルトの名無しさん (ワッチョイ 1e98-2dqZ)
2018/12/17(月) 21:17:48.10ID:lO+98ZHR0 Linuxで普通にファイル名にスペース入れられるんだから
sambaとかwindowsは全く関係ないけどね
sambaとかwindowsは全く関係ないけどね
799デフォルトの名無しさん (ワッチョイ 8376-2T4x)
2018/12/17(月) 23:45:58.91ID:LS1nUj7m0 CUI使いとGUI使いの違いだな
CUIでわざわざくそめんどくさいスペースなんぞを好き好んでは使わない。GUIではふつーにわかりやすくもなるから使う、普通に入れるのはあたりまえ
CUIでわざわざくそめんどくさいスペースなんぞを好き好んでは使わない。GUIではふつーにわかりやすくもなるから使う、普通に入れるのはあたりまえ
800デフォルトの名無しさん (ワッチョイ af03-Gl1U)
2018/12/17(月) 23:52:42.27ID:oCmK2PVR0 めんどくさくないけど?エアプなんキミ?
801デフォルトの名無しさん (ワッチョイ 2b1d-UKyl)
2018/12/17(月) 23:54:51.53ID:faSovs330 有志のコードに
ファイル名が空白入りだと事故るものがあったような?
自分は
安全とって全部アンダーバー変換しておく
ファイル名が空白入りだと事故るものがあったような?
自分は
安全とって全部アンダーバー変換しておく
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【調査】クレジットカード、1人何枚持つのが「平均的」?★3 [ひぃぃ★]
- 【作家】高市総理支持の背景に見えるヤンキー的「ケンカ上等!」と「日本人は特別だ」感がとても怖い 北原みのり [少考さん★]
- 宮崎あおい「電子レンジ持ってない」“丁寧な暮らし”を告白「ごはんを温め直すときも蒸し器」に「凄すぎ」の声 [muffin★]
- 【テレビ】池上彰氏 報道の自由度が高い国の特徴「どんどん政府を批判する。政治家は受け入れる」 一方独裁国家は… [冬月記者★]
- 「日本が戦争に一歩踏み出す危機感」官邸前で抗議デモ 高市総理“台湾有事”発言の撤回求める 中国メディアの姿も ★3 [蚤の市★]
- 「『ETC』←なんて読んでますか?」 公募で決めたのに全然呼ばれなかった“幻の愛称”とは [七波羅探題★]
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1816
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap609
- ネットでサッカー観戦◆2025-31
- 巨専】
- とらせん IP
- 【D専】 ★2
- 古市憲寿「スタジオでも中国批判して気持ち良くなってる人はいるが高市答弁で日本人は損してる。国益を害した」スタジオ凍りつく [931948549]
- 仙台に出張行ってくる
- 寿司、未だに土人の奇妙な食い物として扱われていた...アメリカ人「なにこれ気持ち悪...オエー!🤮」 [856698234]
- 最近おならの量が多くて相談してたものです
- 【悲報】生活保護受給者の喫煙率73%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- まったり進行おじゃる丸待機ハウス🏡
