シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
前スレ: シェルスクリプト総合 その35
https://mevius.5ch.net/test/read.cgi/tech/1606221440/
関連スレ
・【Bash】Windows Subsystem for Linux【WSL】9
https://mao.5ch.net/test/read.cgi/linux/1607589861/
・Bashでプログラミング [転載禁止](c)2ch.net
https://mao.5ch.net/test/read.cgi/linux/1443885102/
・シェルスクリプト総合 その28
https://mevius.5ch.net/test/read.cgi/unix/1533154936/
・zsh その7
https://mevius.5ch.net/test/read.cgi/unix/1337844883/
・過去UNIXで使われていた ksh というシェルについて
https://mevius.5ch.net/test/read.cgi/unix/1582358403/
・【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
・おまえら! shell は何を使っているんですか?
https://mevius.5ch.net/test/read.cgi/unix/1012330865/
シェルスクリプト総合 その36
レス数が900を超えています。1000を超えると表示できなくなるよ。
2021/02/25(木) 09:20:14.64ID:ZyJLXTlk
818デフォルトの名無しさん
2021/08/05(木) 00:09:48.84ID:r/zZzNU4 >>817
超ふしぎじゃ。
壊す主体は、動作の読めないスクリプトに決まってるやろ。
読解力ゼロなんか。w
> そんななんかダメなとこあったらメチャクチャに壊すスクリプトもそう無いだろうからな。そんなのばっか書いてるの?
たまたまrm *になるだけでおしまいやぞ?
超ふしぎじゃ。
壊す主体は、動作の読めないスクリプトに決まってるやろ。
読解力ゼロなんか。w
> そんななんかダメなとこあったらメチャクチャに壊すスクリプトもそう無いだろうからな。そんなのばっか書いてるの?
たまたまrm *になるだけでおしまいやぞ?
819デフォルトの名無しさん
2021/08/05(木) 02:16:14.66ID:uXuSxWIZ >>818
何を言っているんだかな
何が「主体」だか、当たり前だろ。その主体に悪意があるかもしれないって話だろう
「メチャクチャ」に「壊される」が悪意を持って書かれたスクリプトを表すと読めても不思議ではないって話なんだが
読めないのはどっちなんだかなw
たまたまとか頻度がわからんな。すぐにそんなの想像してしまうぐらいの頻度で書いてるのか?w
とか、もうアレだけどw とりあえず単なる杞憂でしかないのは質問者の最初のレスで明らかだし、自己責任の範囲。やってくれないとレスしようがないし、
やってちょっとはその具体的な実行結果を出してくれたことにより、原因他が明確(*)になってんだから、ただの蛇足もこれまでにしとこな
*)お前の最初のレスもそれにより=ほとんど何も知らない人だったとわかってだろう?w
何を言っているんだかな
何が「主体」だか、当たり前だろ。その主体に悪意があるかもしれないって話だろう
「メチャクチャ」に「壊される」が悪意を持って書かれたスクリプトを表すと読めても不思議ではないって話なんだが
読めないのはどっちなんだかなw
たまたまとか頻度がわからんな。すぐにそんなの想像してしまうぐらいの頻度で書いてるのか?w
とか、もうアレだけどw とりあえず単なる杞憂でしかないのは質問者の最初のレスで明らかだし、自己責任の範囲。やってくれないとレスしようがないし、
やってちょっとはその具体的な実行結果を出してくれたことにより、原因他が明確(*)になってんだから、ただの蛇足もこれまでにしとこな
*)お前の最初のレスもそれにより=ほとんど何も知らない人だったとわかってだろう?w
820デフォルトの名無しさん
2021/08/05(木) 08:32:13.08ID:RD0C5s2g ども、801です、盛り上がらせてしまいすみません。
どちらかというと興味として、素朴に、zshもbashもshベースで割と簡単に移植できるのかな? と
思ったんですが、結局それはNOってことですかね?
ちなみにzparseoptsというのはあからさまにzshの関数ぽいですが、
他に、どうやら変数(の中身)の展開に違いがある? ような感じでスクリプト中で呼ばれるコマンド
の引数に正しい値が渡らなかったりしてるようです。
どちらかというと興味として、素朴に、zshもbashもshベースで割と簡単に移植できるのかな? と
思ったんですが、結局それはNOってことですかね?
ちなみにzparseoptsというのはあからさまにzshの関数ぽいですが、
他に、どうやら変数(の中身)の展開に違いがある? ような感じでスクリプト中で呼ばれるコマンド
の引数に正しい値が渡らなかったりしてるようです。
821デフォルトの名無しさん
2021/08/05(木) 09:00:33.95ID:zI5dwTpx ・POSIX(sh)のだけ使ってる
・bashにもzshにもあるのを使ってる
は、問題があったら調整ちょっと手直し程度
・zshにしかないのを使ってる
は、当然、該当部分の書き換えが必要
少しは知っているのならYESだが、
ちょっと何も知らないようなので自分で勉強する気やる気があるのかによる。今はNOだろな
・bashにもzshにもあるのを使ってる
は、問題があったら調整ちょっと手直し程度
・zshにしかないのを使ってる
は、当然、該当部分の書き換えが必要
少しは知っているのならYESだが、
ちょっと何も知らないようなので自分で勉強する気やる気があるのかによる。今はNOだろな
822デフォルトの名無しさん
2021/08/05(木) 09:53:44.33ID:r/zZzNU4823デフォルトの名無しさん
2021/08/05(木) 10:12:10.01ID:hsHiTAxc shベースはPOSIX shベースって言えばいいと思うけど
bashとzshに共通のものってなんて言えばいいんだろうね
bashとzshに共通のものってなんて言えばいいんだろうね
824デフォルトの名無しさん
2021/08/05(木) 13:21:07.18ID:zot0pp1g どちらもkshの美味しいとこ取りってとこ?
825デフォルトの名無しさん
2021/08/05(木) 16:55:00.26ID:zI5dwTpx826デフォルトの名無しさん
2021/08/05(木) 17:17:04.23ID:zI5dwTpx >>823,824
bash/zshフレンドリー?w
共通仕様の公式なドキュメントがあるわけでもなく、書いた人の知見頼りだろから、そう何か明確な名称的なのはなさげかなあ
kshからのが多そうね。bashが最初でzshでも採用ってなかったかなあ
bash/zshフレンドリー?w
共通仕様の公式なドキュメントがあるわけでもなく、書いた人の知見頼りだろから、そう何か明確な名称的なのはなさげかなあ
kshからのが多そうね。bashが最初でzshでも採用ってなかったかなあ
827デフォルトの名無しさん
2021/08/05(木) 18:09:04.60ID:r/zZzNU4828デフォルトの名無しさん
2021/08/05(木) 18:11:34.02ID:zI5dwTpx829デフォルトの名無しさん
2021/08/05(木) 19:53:25.65ID:r/zZzNU4 >>828
おまえがな!w
おまえがな!w
830デフォルトの名無しさん
2021/08/05(木) 21:42:19.84ID:2EEp5i6b ばーかばーか
831デフォルトの名無しさん
2021/08/05(木) 22:23:46.98ID:zI5dwTpx832デフォルトの名無しさん
2021/08/05(木) 23:29:03.88ID:vcYli3BC setコマンドで位置パラメータを指定するときに、
引用符でかこわれていない変数がフィールド分割されるかどうかって決まってたっけ?
setの仕様にはそれらしき記述はなし。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_25
BashやYashでは分割されて,Dashでは分割されない。
$ bash -c '
set -- "a b c" "d e f"
set -- $1 "$@"
echo $1
'
→a
$ yash -c '
set -- "a b c" "d e f"
set -- $1 "$@"
echo $1
'
→a
$ dash -c '
set -- "a b c" "d e f"
set -- $1 "$@"
echo $1
'
→a b c
引用符でかこわれていない変数がフィールド分割されるかどうかって決まってたっけ?
setの仕様にはそれらしき記述はなし。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_25
BashやYashでは分割されて,Dashでは分割されない。
$ bash -c '
set -- "a b c" "d e f"
set -- $1 "$@"
echo $1
'
→a
$ yash -c '
set -- "a b c" "d e f"
set -- $1 "$@"
echo $1
'
→a
$ dash -c '
set -- "a b c" "d e f"
set -- $1 "$@"
echo $1
'
→a b c
833デフォルトの名無しさん
2021/08/05(木) 23:45:20.11ID:r/zZzNU4834デフォルトの名無しさん
2021/08/06(金) 04:00:19.09ID:rcBy4jaU835デフォルトの名無しさん
2021/08/06(金) 14:52:24.37ID:j92KspJx836デフォルトの名無しさん
2021/08/06(金) 15:08:57.47ID:rcBy4jaU >>835
あのさぁ、なんで実行結果を書かないの?
やってみればすぐわかるだろ
$ bash -c '
> a="1 2 3"
> printf "/%s/" $a
> '
/1//2//3/
dash -c '
> a="1 2 3"
> printf "/%s/" $a
> '
/1//2//3/
まーーーーーーーーーったく同じ
あのさぁ、なんで実行結果を書かないの?
やってみればすぐわかるだろ
$ bash -c '
> a="1 2 3"
> printf "/%s/" $a
> '
/1//2//3/
dash -c '
> a="1 2 3"
> printf "/%s/" $a
> '
/1//2//3/
まーーーーーーーーーったく同じ
837デフォルトの名無しさん
2021/08/06(金) 17:19:21.97ID:j92KspJx >>836
いやさ,それの実行結果が一緒なのに,
$ bash -c '
set -- "a b c" "d e f"
set -- $1 "$@"
echo $1
'
→a
$ dash -c '
set -- "a b c" "d e f"
set -- $1 "$@"
echo $1
'
→a b c
こうなるのはおかしいだろってことだよ。
話わかってるか?
いやさ,それの実行結果が一緒なのに,
$ bash -c '
set -- "a b c" "d e f"
set -- $1 "$@"
echo $1
'
→a
$ dash -c '
set -- "a b c" "d e f"
set -- $1 "$@"
echo $1
'
→a b c
こうなるのはおかしいだろってことだよ。
話わかってるか?
838デフォルトの名無しさん
2021/08/06(金) 17:26:48.38ID:rcBy4jaU 消えな。いちいちデマ流すな。
dash -c '
set -- "a b c" "d e f"
set -- $1 "$@"
echo $1
'
a
dash -c '
set -- "a b c" "d e f"
set -- $1 "$@"
echo $1
'
a
839デフォルトの名無しさん
2021/08/06(金) 19:29:06.94ID:mgQwZ+tq dashで>>832見たとき試した時は、
a b c
になったけど、しばらくしたらなぜかw、
a
になるようになった、にしかならないようになった
とりあえず、現在は a b c は気のせい/何かの間違いだなと思ってるw
(多分なんかの環境値かなあ??)
メイン環境ではこんなんだったけど、ほぼあんま使わないクリーンに近いUbuntu(VM)でも a だからな
zshはデフォでは、
a b c
emulate posix でも a b c、emulate bash で a
posix でも a になるべきなんだろうな
単に shwordsplit on にするだけだけど emulate posix 時オプションセットのバグかなあ
a b c
になったけど、しばらくしたらなぜかw、
a
になるようになった、にしかならないようになった
とりあえず、現在は a b c は気のせい/何かの間違いだなと思ってるw
(多分なんかの環境値かなあ??)
メイン環境ではこんなんだったけど、ほぼあんま使わないクリーンに近いUbuntu(VM)でも a だからな
zshはデフォでは、
a b c
emulate posix でも a b c、emulate bash で a
posix でも a になるべきなんだろうな
単に shwordsplit on にするだけだけど emulate posix 時オプションセットのバグかなあ
840デフォルトの名無しさん
2021/08/06(金) 19:38:55.34ID:rcBy4jaU 自分のミスを素直に認められるようになろうな
841デフォルトの名無しさん
2021/08/06(金) 21:35:38.59ID:mgQwZ+tq 俺は ID:j92KspJx でないからな
842デフォルトの名無しさん
2021/08/06(金) 23:44:34.47ID:j92KspJx843デフォルトの名無しさん
2021/08/07(土) 01:06:35.02ID:m9mcPIVQ お前もある意味勘違い(他の環境でなり試せばわかること)で騒いでいたんだから、
何をなんかその嫌らしいことすんなよ
何をなんかその嫌らしいことすんなよ
844デフォルトの名無しさん
2021/08/07(土) 01:06:57.62ID:m9mcPIVQ 俺は ID:mgQwZ+tq なw
845デフォルトの名無しさん
2021/08/07(土) 01:50:03.69ID:m9mcPIVQ >>839
>emulate posix でも a b c、emulate bash で a
>posix でも a になるべきなんだろうな
>単に shwordsplit on にするだけだけど emulate posix 時オプションセットのバグかなあ
posix shell を emulate する場合は posix ではなく sh か
じゃあ、psoix はなんなんねん、イマイチわからない。もしかしてそんなの無いとかか??w
emulate sh にしたら、
shwordsplit on
になるかと思いきや、
noshwordsplit off
って、shwordsplitに変わってnoshwordsplitに(同じだが)。そんなにoffに拘りたいのか
なかなかクセが強い感じw
ほぼzshネタ。でも、zshでposix shell互換にするにはというお話でした
>emulate posix でも a b c、emulate bash で a
>posix でも a になるべきなんだろうな
>単に shwordsplit on にするだけだけど emulate posix 時オプションセットのバグかなあ
posix shell を emulate する場合は posix ではなく sh か
じゃあ、psoix はなんなんねん、イマイチわからない。もしかしてそんなの無いとかか??w
emulate sh にしたら、
shwordsplit on
になるかと思いきや、
noshwordsplit off
って、shwordsplitに変わってnoshwordsplitに(同じだが)。そんなにoffに拘りたいのか
なかなかクセが強い感じw
ほぼzshネタ。でも、zshでposix shell互換にするにはというお話でした
846デフォルトの名無しさん
2021/08/07(土) 03:07:17.12ID:UOc5M9xg zshでemulate bachfileってやったら
バッチファイルモードになったYO!
バッチファイルモードになったYO!
847デフォルトの名無しさん
2021/08/07(土) 08:27:51.67ID:m9mcPIVQ なる。 zsh|sh|ksh|csh だけか
以外ではエラーにならずに zsh が指定されたとみなすか
起動時とのでオプション変わるから別のオプションセットがセットされてんのかと思った
以外ではエラーにならずに zsh が指定されたとみなすか
起動時とのでオプション変わるから別のオプションセットがセットされてんのかと思った
848デフォルトの名無しさん
2021/08/07(土) 08:34:57.40ID:UOc5M9xg emulate cshってどこまでcshと互換性あるの?
cshのシェルスクリプトがzshで動くわけ?
cshのシェルスクリプトがzshで動くわけ?
849デフォルトの名無しさん
2021/08/07(土) 08:36:21.73ID:m9mcPIVQ >以外ではエラーにならずに zsh が指定されたとみなすか
いや、bash が指定されたら sh とみなすってのはあるみたいだな。例外か?
bash対応のチラっとあるからbash互換のオプションセットがあるのかと期待してた/思い込んでたんだけど、単に(例外的に) posix shell 互換にするだけなのね
いや、bash が指定されたら sh とみなすってのはあるみたいだな。例外か?
bash対応のチラっとあるからbash互換のオプションセットがあるのかと期待してた/思い込んでたんだけど、単に(例外的に) posix shell 互換にするだけなのね
850デフォルトの名無しさん
2021/08/07(土) 08:40:12.61ID:UOc5M9xg emulate "b型の血液が足りないんです!どなたか!どなたかいませんか?"
だったらshになるな。うん。
だったらshになるな。うん。
851デフォルトの名無しさん
2021/08/07(土) 08:41:49.65ID:m9mcPIVQ >>848
シェルオプションが変わるだけかなあ
一応、元々 ksh+tcsh で開発されてるし、cshの命令文も動いたりもするが、なんか全部ってわけじゃないなて結論で俺は確認はやめてた、以前
cshのオプションセットになったら、もっとちゃんと動くのかもしれないし大したことがないかもしれない、どうなんだろねw
シェルオプションが変わるだけかなあ
一応、元々 ksh+tcsh で開発されてるし、cshの命令文も動いたりもするが、なんか全部ってわけじゃないなて結論で俺は確認はやめてた、以前
cshのオプションセットになったら、もっとちゃんと動くのかもしれないし大したことがないかもしれない、どうなんだろねw
852デフォルトの名無しさん
2021/08/07(土) 08:42:50.92ID:m9mcPIVQ853デフォルトの名無しさん
2021/08/07(土) 08:44:08.17ID:UOc5M9xg cshの命令というかコマンド?は、互換関数でも作れば対応できるんじゃねと思ってるんであんまり気にしないんだが
cshの文法ってzshに組み込めるようなものなのかなって気になってる
cshよく知らんけど、文法自体が少ないのか?関数もなかったはずだよね
cshの文法ってzshに組み込めるようなものなのかなって気になってる
cshよく知らんけど、文法自体が少ないのか?関数もなかったはずだよね
854デフォルトの名無しさん
2021/08/07(土) 08:48:10.86ID:UOc5M9xg >>852
いやしらんてw
昔の人の実装者の気持ちになって考えたら
「お?これだけのパターンなら最初の一文字だけ比較すればいいんじゃね?俺天才じゃねwww」って
考えそうだなって思っただけ
なんつーか、手抜きだよなー。
あー、というかこれbash対応じゃなくて
bourne対応じゃね?bourne=shだし
いやしらんてw
昔の人の実装者の気持ちになって考えたら
「お?これだけのパターンなら最初の一文字だけ比較すればいいんじゃね?俺天才じゃねwww」って
考えそうだなって思っただけ
なんつーか、手抜きだよなー。
あー、というかこれbash対応じゃなくて
bourne対応じゃね?bourne=shだし
855デフォルトの名無しさん
2021/08/07(土) 08:50:44.33ID:UOc5M9xg bshのパターンも有るか。でもjshはzshだな
856デフォルトの名無しさん
2021/08/07(土) 08:58:13.11ID:m9mcPIVQ857デフォルトの名無しさん
2021/08/07(土) 10:53:52.05ID:231wocV5 ボーンシェル
コーンシェル
ゾーンシェル
ぞーーーーーん!
コーンシェル
ゾーンシェル
ぞーーーーーん!
858デフォルトの名無しさん
2021/08/07(土) 12:55:43.98ID:UOc5M9xg トリビア
1985年に日本で生まれたシェルがある
そのシェルは 2020年まで存在していた
その名も
1985年に日本で生まれたシェルがある
そのシェルは 2020年まで存在していた
その名も
859デフォルトの名無しさん
2021/08/07(土) 18:45:34.65ID:RMo9hPMi シェルじゃなくてシエル?
あ、これは1991年だった。
あ、これは1991年だった。
860デフォルトの名無しさん
2021/08/09(月) 01:48:03.65ID:Ln+AsnId キヤノン
キユーピー
シヤチハタ
富士フイルム
エドウイン
キユーピー
シヤチハタ
富士フイルム
エドウイン
861デフォルトの名無しさん
2021/08/09(月) 03:21:27.64ID:iQ+Egq/N 中川しようこ
862デフォルトの名無しさん
2021/08/09(月) 12:43:08.30ID:GX8oEfXz ビックカメラ
863デフォルトの名無しさん
2021/08/10(火) 04:05:37.98ID:dBGoRJhg >>858
オランダ産やんけ
オランダ産やんけ
864デフォルトの名無しさん
2021/08/10(火) 22:03:06.30ID:h61oVuOW カステラ
ゲーテ
ゲーテ
865デフォルトの名無しさん
2021/08/15(日) 22:01:32.56ID:iDzFR5O3 新しいシェルを作りたいのですが
どのアルファベットが空いてますか?
どのアルファベットが空いてますか?
866デフォルトの名無しさん
2021/08/15(日) 22:19:10.80ID:G/xk0WlY iとo
867デフォルトの名無しさん
2021/08/15(日) 23:21:43.56ID:ZsODeO33 bshとbashがあるくらいなんやから、一切気にしなきゃええんちゃう?w
勝てば官軍!
勝てばね!
ふつうは、戦える立場になれないけど!
勝てば官軍!
勝てばね!
ふつうは、戦える立場になれないけど!
868デフォルトの名無しさん
2021/08/16(月) 13:46:35.37ID:umL41p0T ishは止めれ
869デフォルトの名無しさん
2021/08/16(月) 23:50:00.46ID:sZNsU9Vp870デフォルトの名無しさん
2021/08/17(火) 00:52:16.82ID:/lTg0IsM じゃあoshで
871デフォルトの名無しさん
2021/08/17(火) 00:52:32.42ID:/lTg0IsM おいっしゅー!
872デフォルトの名無しさん
2021/08/17(火) 01:20:24.26ID:5M+zf85m Ош
873デフォルトの名無しさん
2021/08/22(日) 03:53:36.86ID:0Cz6ueFz Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています
Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます
Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ
なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?
Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる
「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています
Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます
Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ
なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?
Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる
「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
874デフォルトの名無しさん
2021/08/22(日) 13:22:16.41ID:0Cz6ueFz Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています
Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます
Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ
なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?
Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412
Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる
「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています
Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます
Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ
なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?
Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412
Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる
「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
875デフォルトの名無しさん
2021/08/31(火) 18:02:21.42ID:UqDTQOtm awkでデータの中にスペースを入れるにはどうしたらいいんでしょうか?
876デフォルトの名無しさん
2021/08/31(火) 18:14:12.67ID:UqDTQOtm "a b" "c d"
みたいなデータを読み取れませんか?
みたいなデータを読み取れませんか?
877デフォルトの名無しさん
2021/08/31(火) 18:41:30.09ID:zJL9bFvV "a b" と "c d" に分割したいのであれば GNU awk の FPAT を使って
gawk -vFPAT='"[^"]*"' '{ ... }'
なんてできるけど、ダブルクォートで囲まれた内部でダブルクォートが
使われる場合には。。。
gawk -vFPAT='"[^"]*"' '{ ... }'
なんてできるけど、ダブルクォートで囲まれた内部でダブルクォートが
使われる場合には。。。
878デフォルトの名無しさん
2021/08/31(火) 22:45:22.41ID:S8r07VdU Ruby では、CSV 列内の""(クォート文字)は、\" に、
列内の改行コード・カンマ(行区切り・列区切り文字)も、適切に処理される
列内に、CSVの特殊文字、行区切り・列区切り・クォート文字が無ければ、列はクォート文字で囲まれない。
もちろん無条件に、すべての列を囲んでもよい
require 'csv'
input = <<"EOT"
"a""a","b,b",あ
"c
c","d\nd"
EOT
p input_ary = CSV.parse( input ) # 2次元配列
#=> [ ["a\"a", "b,b", "あ"], ["c\nc", "d\nd"] ]
# 2次元配列を、CSV 文字列に変換する
csv_str = input_ary.map( &:to_csv ).join
puts csv_str
出力。元に戻る
"a""a","b,b",あ
"c
c","d
d"
列内の改行コード・カンマ(行区切り・列区切り文字)も、適切に処理される
列内に、CSVの特殊文字、行区切り・列区切り・クォート文字が無ければ、列はクォート文字で囲まれない。
もちろん無条件に、すべての列を囲んでもよい
require 'csv'
input = <<"EOT"
"a""a","b,b",あ
"c
c","d\nd"
EOT
p input_ary = CSV.parse( input ) # 2次元配列
#=> [ ["a\"a", "b,b", "あ"], ["c\nc", "d\nd"] ]
# 2次元配列を、CSV 文字列に変換する
csv_str = input_ary.map( &:to_csv ).join
puts csv_str
出力。元に戻る
"a""a","b,b",あ
"c
c","d
d"
879デフォルトの名無しさん
2021/09/03(金) 13:05:02.74ID:prpSRVT9 うわでた
880デフォルトの名無しさん
2021/09/18(土) 18:19:12.65ID:a1LlWfun 頭のおかしい人に以下のようなことを言われました
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください
>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか?
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください
>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか?
881デフォルトの名無しさん
2021/09/18(土) 18:28:53.74ID:6JilEPez 本人に聞けよ
882デフォルトの名無しさん
2021/09/18(土) 18:42:49.46ID:jUwIv+ht 随分偉そうな質問者だこと
883デフォルトの名無しさん
2021/09/18(土) 20:04:20.39ID:ra+RGGfj スクレイピングはサイト運営からすればボットと同じ迷惑行為。警告を無視して続ければ営業妨害に認定される可能性もある。
マルチポストはいわゆるネットマナーに反する行為。質問者がマルチポストを繰り返せばその質問者が「頭のおかしい人」と看做されるだろう。
マルチポストはいわゆるネットマナーに反する行為。質問者がマルチポストを繰り返せばその質問者が「頭のおかしい人」と看做されるだろう。
884デフォルトの名無しさん
2021/09/19(日) 10:51:23.48ID:xR+u8nco 技術的に無能だが一般常識にも無能なのはたまに居るな
885デフォルトの名無しさん
2021/09/19(日) 10:54:58.61ID:ZpH8FzBH シェルショッカーとリッチー大佐のお二人ですなw
886デフォルトの名無しさん
2021/09/21(火) 03:27:47.67ID:brXTSPi5 あと Ruby の基地外な
rubikitch のことじゃないよ
rubikitch のことじゃないよ
887デフォルトの名無しさん
2021/09/22(水) 14:28:08.32ID:Te29kBsr ニュースグループならクロスポストってのが出来たんだけどな
888デフォルトの名無しさん
2021/09/22(水) 14:42:56.06ID:RtQe+ZM1889デフォルトの名無しさん
2021/10/02(土) 09:12:44.17ID:AShvd7nN bash sample1.sh && sample2.sh
でsample.shがexitとかfalse的な感じだったらsample2.shは実行しない
という処理をするにはどうしたらいいのでしょうか・・?
でsample.shがexitとかfalse的な感じだったらsample2.shは実行しない
という処理をするにはどうしたらいいのでしょうか・・?
890デフォルトの名無しさん
2021/10/02(土) 09:30:28.85ID:AShvd7nN 補足です >>889
そもそもやりたいことはsample2.shの冒頭に
if 条件; then
echo "o"
fi
みたいな条件式が出てくるのですが
その条件は他のsample3.shでもsample4.shでも重複して出てくるので
分けたいなと思いました
そういう書き方があるのかな、と
そもそもやりたいことはsample2.shの冒頭に
if 条件; then
echo "o"
fi
みたいな条件式が出てくるのですが
その条件は他のsample3.shでもsample4.shでも重複して出てくるので
分けたいなと思いました
そういう書き方があるのかな、と
891デフォルトの名無しさん
2021/10/02(土) 11:10:29.57ID:AShvd7nN とりあえず自己解決?しました
外部読み込みで関数引き出すことにしました
しかしなぜか
if 関数1; then
echo "o"
else
echo "x"
fi
関数1の返り値が0のとき"o"、1のとき"x"となり
思ってたのと逆になりました
関数1 () {
return 0
}
外部読み込みで関数引き出すことにしました
しかしなぜか
if 関数1; then
echo "o"
else
echo "x"
fi
関数1の返り値が0のとき"o"、1のとき"x"となり
思ってたのと逆になりました
関数1 () {
return 0
}
892デフォルトの名無しさん
2021/10/02(土) 11:42:50.26ID:rSA8/7/e プロセスの終了ステータスと同じ思想
0を返すなら正常
0以外を返すなら異常
0を返すなら正常
0以外を返すなら異常
893デフォルトの名無しさん
2021/10/02(土) 12:39:57.86ID:AShvd7nN894デフォルトの名無しさん
2021/10/02(土) 14:45:07.98ID:lWVjrMOX >>891
逆ではない。それで良いのだ。
成功したら0を返すというUNIX等での昔からの慣習に従っているだけ。
if は動かしたコマンドや関数の終了ステータスが0なら成功したと認識して then の後を実行しようとするように作られている。
逆ではない。それで良いのだ。
成功したら0を返すというUNIX等での昔からの慣習に従っているだけ。
if は動かしたコマンドや関数の終了ステータスが0なら成功したと認識して then の後を実行しようとするように作られている。
895デフォルトの名無しさん
2021/10/02(土) 14:47:33.71ID:lWVjrMOX ってリロード忘れて書いたら既に答えが書かれて話が終わっていたorz
896デフォルトの名無しさん
2021/10/02(土) 15:12:31.16ID:HPoADLry897デフォルトの名無しさん
2021/10/02(土) 15:39:19.39ID:yaQQxYBO シェルスクリプト内で return true とか書ければいいんだが。
引数なしの return はその直前のコマンドの戻り値を戻すので
true ; return
とか
return $(true)
って感じか?
引数なしの return はその直前のコマンドの戻り値を戻すので
true ; return
とか
return $(true)
って感じか?
898デフォルトの名無しさん
2021/10/02(土) 15:52:06.48ID:yaQQxYBO true=0 ; false=1 って定義しておいて return $true もあるか
899デフォルトの名無しさん
2021/10/02(土) 16:16:47.40ID:qz0ghb/n900デフォルトの名無しさん
2021/10/02(土) 16:38:14.15ID:HPoADLry901デフォルトの名無しさん
2021/10/02(土) 17:40:54.85ID:yaQQxYBO >>900
(実装上は?ではあるが)C言語で言う \0 や NULL は必ずしもゼロではないから
ハードコーティングするな、みたいな話と同じでは?
C言語で EXIT_SUCCESS がマクロ定義されているのと同じでは?
あとシェルスクリプトで EXIT_SUCCESS って定義されてる?
(実装上は?ではあるが)C言語で言う \0 や NULL は必ずしもゼロではないから
ハードコーティングするな、みたいな話と同じでは?
C言語で EXIT_SUCCESS がマクロ定義されているのと同じでは?
あとシェルスクリプトで EXIT_SUCCESS って定義されてる?
902デフォルトの名無しさん
2021/10/02(土) 18:23:30.06ID:R5KX+nmU >>896
0はfalsy, 1はtruthy
0はfalsy, 1はtruthy
903デフォルトの名無しさん
2021/10/02(土) 18:40:53.09ID:A8TEcsRS904デフォルトの名無しさん
2021/10/02(土) 18:54:39.94ID:a5sjMDOS >>901
\0はゼロだよねぇ?
\0はゼロだよねぇ?
905デフォルトの名無しさん
2021/10/02(土) 19:00:42.14ID:HPoADLry906デフォルトの名無しさん
2021/10/02(土) 19:08:57.75ID:HPoADLry907デフォルトの名無しさん
2021/10/02(土) 23:25:16.60ID:yaQQxYBO908デフォルトの名無しさん
2021/10/02(土) 23:47:19.06ID:HPoADLry >>907
おまえが勝手に勘違いして決めつけとるだけや。w
0は「TRUE」をあらわすのではない。
ただの「0」や。
シェルとかでは一般的に、0を成功と見なすことにしとるだけ。
プログラムによってはあえて、1なら成功半分失敗半分、2なら超失敗、みたいにしてもええ。
おまえが勝手に勘違いして決めつけとるだけや。w
0は「TRUE」をあらわすのではない。
ただの「0」や。
シェルとかでは一般的に、0を成功と見なすことにしとるだけ。
プログラムによってはあえて、1なら成功半分失敗半分、2なら超失敗、みたいにしてもええ。
909デフォルトの名無しさん
2021/10/03(日) 01:12:15.52ID:xAO5mPIE910デフォルトの名無しさん
2021/10/03(日) 01:52:00.50ID:prztZm/y911デフォルトの名無しさん
2021/10/03(日) 21:33:19.87ID:lRGZaQA9 Makefileのコマンド部分のインデントにタブ以外つかえないの地味にツライです
912デフォルトの名無しさん
2021/10/03(日) 23:29:34.04ID:53YOJQpZ913デフォルトの名無しさん
2021/10/04(月) 00:19:02.66ID:zDusbFKv914デフォルトの名無しさん
2021/10/04(月) 00:38:06.79ID:68bdvZVH 郷に入っては郷に従え
915デフォルトの名無しさん
2021/10/04(月) 04:16:49.89ID:hDmlyFvp >return 0 が C言語とシェルスクリプトで意味が真逆
え?
え?
916デフォルトの名無しさん
2021/10/04(月) 11:18:50.12ID:k4THeifQ main()のreturnに関してはshと一緒だが
returnに限らずifや論理演算で使うときの0/0以外は意味が真逆って話ですかね
どうするもこうするも、脳内で切り替えるしかないのでは
returnに限らずifや論理演算で使うときの0/0以外は意味が真逆って話ですかね
どうするもこうするも、脳内で切り替えるしかないのでは
917デフォルトの名無しさん
2021/10/04(月) 11:27:18.04ID:up54+LrH 言語によって切り替えるのが普通の人だ
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… [BFU★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★4 [Hitzeschleier★]
- 【将棋】福間香奈 女流六冠が会見 妊娠・出産でタイトル戦の事実上不戦敗 「妊娠したら、どちらか一方を諦めないといけない状況」★2 [冬月記者★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 [Hitzeschleier★]
- かつや、明日からカツ丼(竹)790円→590円、ロースカツ定食830円→630円、カツカレー(竹)990円→790円 画像あり [お断り★]
- ホリエモン、「持ち家=幸せという価値観は過去のもの」と断言「快適な住まいが欲しいなら、賃貸住宅を次々に替えていく」 [muffin★]
- 【高市コイン】1バーツ=5円で年金沈没組無事死亡🤗 [993451824]
- おまえらVtuberで誰の配信見てる?
- 【日テレ】日本人の間で「袋麺ブーム」が到来!野菜炒めを乗せて食べるのが流行ってるらしい [512028397]
- 【実況】博衣こよりのえちえち声優楽プロジェクト共同研究発表会🧪
- カンボジア軍さん、タイ国内に向かってロケット弾の乱れ撃ちを始めてしまう… [263288856]
- 高市早苗、トランプおやびんに泣きつくwwwwwwwwwwwwwwwwwwwwwwww [834922174]
