シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その33
https://mevius.5ch.net/test/read.cgi/tech/1584893550/
探検
シェルスクリプト総合 その34
■ このスレッドは過去ログ倉庫に格納されています
2020/08/21(金) 15:17:55.64ID:mArnj/tT
680デフォルトの名無しさん
2020/10/28(水) 20:22:18.78ID:zcWN9+mU パイプって元々非同期処理(これはPOSIXで規定)だから,
実装によっては普通にマルチスレッドで処理してんじゃないの?
実装によっては普通にマルチスレッドで処理してんじゃないの?
681デフォルトの名無しさん
2020/10/28(水) 20:22:22.24ID:58wSuA1P そもそもUnixにはforkというコマンドがあってだな
682デフォルトの名無しさん
2020/10/28(水) 20:23:15.77ID:XBU5yUok ターミナルを2枚開いてマルチプロセス!
683デフォルトの名無しさん
2020/10/28(水) 20:32:27.18ID:NAroBJuS 多くの言語が並列処理を行うように明示的に書かなければ並列処理されないのに比べて
シェルスクリプトは普通に書いてもかってに並列処理が行われる言語の1つ
シェルスクリプトは普通に書いてもかってに並列処理が行われる言語の1つ
684デフォルトの名無しさん
2020/10/28(水) 21:19:48.83ID:zcWN9+mU685デフォルトの名無しさん
2020/10/28(水) 21:48:39.39ID:K6dD4VVC >>683,684
お前らもプロセスとスレッドの違いがわかってないようだがな
お前らもプロセスとスレッドの違いがわかってないようだがな
686デフォルトの名無しさん
2020/10/28(水) 22:22:18.44ID:1fF6N90I >>685
わかってるが、何を根拠にいちゃもんつけたの?w
わかってるが、何を根拠にいちゃもんつけたの?w
687デフォルトの名無しさん
2020/10/28(水) 22:37:57.46ID:K6dD4VVC お前はどっちなの?
まだ ID:NAroBJuS ならそうわかってはないようでもあるが、ID:zcWN9+mU は明らかにわかってないなw
まだ ID:NAroBJuS ならそうわかってはないようでもあるが、ID:zcWN9+mU は明らかにわかってないなw
688デフォルトの名無しさん
2020/10/28(水) 22:42:56.15ID:1fF6N90I 質問を質問で返すな
まずお前が根拠をいえ
言わないで質問する理由なんかないだろ
まずお前が根拠をいえ
言わないで質問する理由なんかないだろ
689デフォルトの名無しさん
2020/10/28(水) 22:43:30.54ID:l3R5yM/w まあ、>>680の「マルチスレッド」はおかしいな。
言うなら「マルチタスク」とかやろ。
言うなら「マルチタスク」とかやろ。
690デフォルトの名無しさん
2020/10/28(水) 22:45:28.30ID:K6dD4VVC どっちなのかも言えないのか。後者だろなな
691デフォルトの名無しさん
2020/10/28(水) 22:47:04.72ID:1fF6N90I 前者だが?はい、言いましたーw
次はお前の番だが、ここまでやっておいて
お前は答えられないってことはないよな
次はお前の番だが、ここまでやっておいて
お前は答えられないってことはないよな
692デフォルトの名無しさん
2020/10/28(水) 22:54:11.38ID:K6dD4VVC693デフォルトの名無しさん
2020/10/28(水) 22:56:23.42ID:1fF6N90I >>692
誰が同じことを繰り返し言えって言った?
> 「多くの言語が並列処理を行うように明示的に書かなければ並列処理されない」なんてわざわざ書くのはあんまわかってなさそうだなってとこ
の理由を書けといったんだが?
誰が同じことを繰り返し言えって言った?
> 「多くの言語が並列処理を行うように明示的に書かなければ並列処理されない」なんてわざわざ書くのはあんまわかってなさそうだなってとこ
の理由を書けといったんだが?
694デフォルトの名無しさん
2020/10/28(水) 22:57:50.86ID:K6dD4VVC 書いたぞ。読まないのは知らないぞ
695デフォルトの名無しさん
2020/10/28(水) 22:59:25.60ID:1fF6N90I 書いたというのなら、引用できるはずだなw
新しい言葉を追加せずに、理由を引用してみろ
新しい言葉を追加せずに、理由を引用してみろ
696デフォルトの名無しさん
2020/10/28(水) 23:01:45.79ID:K6dD4VVC 読む気なさそうだからなあw
すでに書いた後は知らない
すでに書いた後は知らない
697デフォルトの名無しさん
2020/10/28(水) 23:03:01.34ID:X2c0ql0Z な?引用できなかった。
698デフォルトの名無しさん
2020/10/29(木) 08:36:16.60ID:D7f8M1As 「こいつ分かってない」って言葉ってほんとうに便利よね。
それだけで
・自分が分かっている人間≠セと暗示できる
(でもあくまで暗示だから言質を取られる恐れもないw)
・相手より上の立場に立つ(という錯覚が)できる
わけだからさ。
それだけで
・自分が分かっている人間≠セと暗示できる
(でもあくまで暗示だから言質を取られる恐れもないw)
・相手より上の立場に立つ(という錯覚が)できる
わけだからさ。
699デフォルトの名無しさん
2020/10/29(木) 08:43:02.83ID:D7f8M1As ていうかシェルスクリプトで簡単にできるのは「マルチタスク」であって,
マルチタスクというのは非同期的な処理だから「非同期処理が簡単にできる」
という言説は正しいと言えるのかも知れないが(それでも違和感がある),
普通「マルチスレッド」といったときの同一プロセス内での複数スレッド処理に関しては
そもそもCPUの機能を全部抽象化されてるようなシェルスクリプトでは
外部コマンドを使ったりしないと実現できんのでは。
もしかしたら俺が知らんだけで
POSIXかどっかで「この動作はマルチ*スレッド*で処理されますよ」
というのが規定されている可能性もあるが,
ちょっと考えにくい。
マルチタスクというのは非同期的な処理だから「非同期処理が簡単にできる」
という言説は正しいと言えるのかも知れないが(それでも違和感がある),
普通「マルチスレッド」といったときの同一プロセス内での複数スレッド処理に関しては
そもそもCPUの機能を全部抽象化されてるようなシェルスクリプトでは
外部コマンドを使ったりしないと実現できんのでは。
もしかしたら俺が知らんだけで
POSIXかどっかで「この動作はマルチ*スレッド*で処理されますよ」
というのが規定されている可能性もあるが,
ちょっと考えにくい。
700デフォルトの名無しさん
2020/10/29(木) 10:29:24.34ID:YCEy/zhh シェルの内部コマンドでマルチスレッド化したほうが効率的なら勝手にやりゃいいんじゃねーの?
具体的にどのコマンドを対応させたいの?
もう誰か作ってんじゃないの?
具体的にどのコマンドを対応させたいの?
もう誰か作ってんじゃないの?
701デフォルトの名無しさん
2020/10/29(木) 10:45:18.65ID:XkZMBg2d >同一プロセス内での複数スレッド処理に関しては
>そもそもCPUの機能を全部抽象化されてるようなシェルスクリプトでは
>外部コマンドを使ったりしないと実現できんのでは
何を言いたいのかイミフ
複数のスレッドで作業を分割して同時並行で実行するが、終了は順番に受け取るとかめんどくさいだとかで普通にできるだろう。単にやる必要もないってとこだな
>POSIXかどっかで「この動作はマルチ*スレッド*で処理されますよ」
>というのが規定されている可能性もあるが,
>ちょっと考えにくい。
なんか純粋なUnix系のOSを理解してないっぽい。純粋部分はマルチスレッドはOSで「勝手に」はやらんだろう。CUIレベルだと必要なさげだからな。GUIなOSでは勝手にはあるけど
>そもそもCPUの機能を全部抽象化されてるようなシェルスクリプトでは
>外部コマンドを使ったりしないと実現できんのでは
何を言いたいのかイミフ
複数のスレッドで作業を分割して同時並行で実行するが、終了は順番に受け取るとかめんどくさいだとかで普通にできるだろう。単にやる必要もないってとこだな
>POSIXかどっかで「この動作はマルチ*スレッド*で処理されますよ」
>というのが規定されている可能性もあるが,
>ちょっと考えにくい。
なんか純粋なUnix系のOSを理解してないっぽい。純粋部分はマルチスレッドはOSで「勝手に」はやらんだろう。CUIレベルだと必要なさげだからな。GUIなOSでは勝手にはあるけど
702デフォルトの名無しさん
2020/10/29(木) 10:55:31.90ID:yfEeCvlS シェルスクリプトはHaskellと同じで自動的にマルチスレッド化するプログラミング
言語ですよ!
素晴らしいですよ!
ってこと?
言語ですよ!
素晴らしいですよ!
ってこと?
703デフォルトの名無しさん
2020/10/29(木) 10:57:33.10ID:XkZMBg2d >>700
イミフな部分は シェルの内部コマンド をマルチスレッドでという話か
内部コマンドっても単にコマンドを内包してるだけで、外部コマンドと変わらない(いや、変わらないと困る)もんだろと思ってるから、そういう読みはできなかった。なるほどね
ksh,zsh でも確かマルチスレッドではなかったような
i=0
command | while read j; do
i=$((i+j))
done
って、i がちゃんと変わるようにしてるのに(確かネストしても大丈夫だったような)。実現方法はなんだっけ
イミフな部分は シェルの内部コマンド をマルチスレッドでという話か
内部コマンドっても単にコマンドを内包してるだけで、外部コマンドと変わらない(いや、変わらないと困る)もんだろと思ってるから、そういう読みはできなかった。なるほどね
ksh,zsh でも確かマルチスレッドではなかったような
i=0
command | while read j; do
i=$((i+j))
done
って、i がちゃんと変わるようにしてるのに(確かネストしても大丈夫だったような)。実現方法はなんだっけ
704デフォルトの名無しさん
2020/10/29(木) 10:59:39.85ID:XkZMBg2d705デフォルトの名無しさん
2020/10/29(木) 11:25:48.02ID:yfEeCvlS でも、自動的にマルチスレッド化してC言語の64倍高速化する可能性も、ワンチャンあるって事ですよね?
試してみるバリューあるのでは?
試してみるバリューあるのでは?
706デフォルトの名無しさん
2020/10/29(木) 11:31:36.93ID:XkZMBg2d ないよw
C言語でもOpenMP使えば割と見た目簡単にできそうだが、OpenMPもそれほど流行ってない
プロセス=特に何か意識する必要もない
スレッド=常時何かを意識する必要がある
そう簡単な話ではない
Haskellとかはマルチスレッドでなきゃそもそも実現できない言語なのだからそれと比べても意味はないな。Haskell出したのはそう意味あるわけではないだろけど
C言語でもOpenMP使えば割と見た目簡単にできそうだが、OpenMPもそれほど流行ってない
プロセス=特に何か意識する必要もない
スレッド=常時何かを意識する必要がある
そう簡単な話ではない
Haskellとかはマルチスレッドでなきゃそもそも実現できない言語なのだからそれと比べても意味はないな。Haskell出したのはそう意味あるわけではないだろけど
707デフォルトの名無しさん
2020/10/29(木) 11:38:39.55ID:XkZMBg2d >そもそも実現できない言語なのだから
というわけでもないのね
出し受けがどでかいばかりじゃないからそりゃそうか
というわけでもないのね
出し受けがどでかいばかりじゃないからそりゃそうか
708デフォルトの名無しさん
2020/10/29(木) 11:49:45.20ID:yfEeCvlS シェルスクリプトがマルチ高速化のアビリティを持つのは否定しようがないファクトですよね?
709デフォルトの名無しさん
2020/10/29(木) 11:59:44.96ID:XkZMBg2d 小池とかのギャグに走ってるだけだろ
710デフォルトの名無しさん
2020/10/29(木) 15:03:10.28ID:8VEYobTG711デフォルトの名無しさん
2020/10/29(木) 15:45:57.37ID:i0HZBLVS 自己紹介がお上手
712デフォルトの名無しさん
2020/10/29(木) 22:21:37.37ID:87BKVwTm 並行・並列とプロセス・OSスレッド・軽量スレッドと同期・非同期の切り分けがごっちゃになってそう知らんけど
713デフォルトの名無しさん
2020/10/29(木) 22:49:07.55ID:yfEeCvlS バリューないですか?
714デフォルトの名無しさん
2020/10/29(木) 22:51:15.28ID:Ju4cpcAY 並行と並列はいまだにうまく使い分けられていない印象
正確な定義はどこかにあるんだろうが、人によって使われ方が違う
正確な定義はどこかにあるんだろうが、人によって使われ方が違う
715デフォルトの名無しさん
2020/10/29(木) 22:55:56.32ID:yfEeCvlS コンカレントとパラレルの違いはアジア人にはわかり辛いですからね。
キリスト教的考え方が普及していないからですね。
キリスト教的考え方が普及していないからですね。
716デフォルトの名無しさん
2020/10/29(木) 23:59:18.90ID:N/u/fZ2Q 並行と並列は使ってるCPUで決まる。
プログラムの書き方に違いはない。
プログラムの書き方に違いはない。
717デフォルトの名無しさん
2020/10/30(金) 17:02:49.47ID:ig1/qwB5 $@みたいな擬配列変数に格納されている値 一つ一つに対して
何か処理を行なう時に,別の変数を用意しない(使わない)方法って原理的に可能かな。
普通は
for args in $@; do
なにか処理
done
というスクリプトを組むと思うんだけど,
argsみたいな変数を使わずに済む方法があれば知りたい。
(シェルスクリプトは基本的には変数の無駄遣いを避けなきゃいけないので。
まあそれが「欠陥」かどうかは別として)
何か処理を行なう時に,別の変数を用意しない(使わない)方法って原理的に可能かな。
普通は
for args in $@; do
なにか処理
done
というスクリプトを組むと思うんだけど,
argsみたいな変数を使わずに済む方法があれば知りたい。
(シェルスクリプトは基本的には変数の無駄遣いを避けなきゃいけないので。
まあそれが「欠陥」かどうかは別として)
718デフォルトの名無しさん
2020/10/30(金) 17:39:03.81ID:mooUMZ8S なう
719デフォルトの名無しさん
2020/10/30(金) 18:20:41.07ID:vW0P/VrR PowerShellってKshとかPerlとかUnixのシェルやスクリプト言語を研究してベースにして作ったって、昔QuoraかどこかでMSの社員が答えてた
begin/endブロックとか、昔からUnix使ってればそのまま活かせる知識かなりある
begin/endブロックとか、昔からUnix使ってればそのまま活かせる知識かなりある
720デフォルトの名無しさん
2020/10/30(金) 18:25:55.93ID:sXVsY8+M721デフォルトの名無しさん
2020/10/30(金) 18:26:25.00ID:sXVsY8+M 他にも再起でできる
723デフォルトの名無しさん
2020/10/30(金) 18:30:51.05ID:sXVsY8+M > (シェルスクリプトは基本的には変数の無駄遣いを避けなきゃいけないので。
これはなんで? 変数名がぶつかるとかいう話?
これはなんで? 変数名がぶつかるとかいう話?
724デフォルトの名無しさん
2020/10/30(金) 18:33:22.92ID:sXVsY8+M ちなみにそれダブルクォートがあったほうがいい
for args in "$@"; do
なにか処理
done
もしくは逆に省略
for args; do
なにか処理
done
for args in "$@"; do
なにか処理
done
もしくは逆に省略
for args; do
なにか処理
done
725デフォルトの名無しさん
2020/10/30(金) 18:39:10.50ID:sXVsY8+M ちなみにそれダブルクォートがあったほうがいい
for args in "$@"; do
もしくは逆に省略
for args; do
for args in "$@"; do
もしくは逆に省略
for args; do
726デフォルトの名無しさん
2020/10/30(金) 18:39:31.11ID:sXVsY8+M 書き込みエラった
727717
2020/10/30(金) 19:07:22.75ID:ig1/qwB5 >>723
そういうことです。
Bashとかの独自機能に頼れば
局所変数を使えるみたいだけど
それを踏まえても,
例えばC言語よりは「変数の使い過ぎ」には
注意しなくちゃならない(よね?)
>>725
for文ってin省略したら$@を暗示するのマジか!
知らんかったけどちゃんとPOSIXでも規定されてたわ。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_04_03
そういうことです。
Bashとかの独自機能に頼れば
局所変数を使えるみたいだけど
それを踏まえても,
例えばC言語よりは「変数の使い過ぎ」には
注意しなくちゃならない(よね?)
>>725
for文ってin省略したら$@を暗示するのマジか!
知らんかったけどちゃんとPOSIXでも規定されてたわ。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_04_03
728デフォルトの名無しさん
2020/10/30(金) 19:15:49.74ID:sXVsY8+M > for文ってin省略したら$@を暗示するのマジか!
他にはgetoptsもそうだな。こっちは逆によく省略されるから
逆に指定できたのか!になると思うが
今は解決してるかもしれないが、$@が0個の時、
set -u状態で"$@"を参照するとエラーになるシェルがあったから
for args in "$@" じゃなくて省略してfor argsと書くようになった
他にはgetoptsもそうだな。こっちは逆によく省略されるから
逆に指定できたのか!になると思うが
今は解決してるかもしれないが、$@が0個の時、
set -u状態で"$@"を参照するとエラーになるシェルがあったから
for args in "$@" じゃなくて省略してfor argsと書くようになった
729デフォルトの名無しさん
2020/10/30(金) 19:32:14.84ID:yPjXBzu5 >>719
実際、PerlとBashに慣れてると、かなり書きやすいからな。
実際、PerlとBashに慣れてると、かなり書きやすいからな。
730デフォルトの名無しさん
2020/11/01(日) 17:25:31.39ID:xiHRYmfR 昔Perlやってて関数の$1とかいちいち変数に入れるのダサいよなぁと思っていたけど
シェルスクリプトをPOSIX縛りしてたらローカル変数なくて、そのまま$1とかでいいやって思ってたら
どうせ関数は小さく書くのは当たり前だから別に$1とかで問題ないと思うようになったな
外部からどういう引数で渡ってくるのか分かりづらいものはコメント書いてるけど
シェルスクリプトをPOSIX縛りしてたらローカル変数なくて、そのまま$1とかでいいやって思ってたら
どうせ関数は小さく書くのは当たり前だから別に$1とかで問題ないと思うようになったな
外部からどういう引数で渡ってくるのか分かりづらいものはコメント書いてるけど
731デフォルトの名無しさん
2020/11/01(日) 18:51:46.05ID:CuITjVo7 つきつめるとアセンブリで問題ないになる
732デフォルトの名無しさん
2020/11/01(日) 19:28:12.68ID:xiHRYmfR そうはならないよ。アセンブリは短く書こうとしてもどうしても長くなるから
「どうせ関数は小さく書くのは当たり前」が実現できない
「どうせ関数は小さく書くのは当たり前」が実現できない
733デフォルトの名無しさん
2020/11/01(日) 21:18:05.45ID:HWQKX8bn 名前の話なら、昔は名前が長いだけで容量が取られるから短くしていただけで、いまとなっては短いメリットはあまりない。
734デフォルトの名無しさん
2020/11/02(月) 10:41:13.59ID:n2BNqgKx たいてい編集するときに補完してくれるしね。
735デフォルトの名無しさん
2020/11/02(月) 11:22:36.19ID:n2BNqgKx poshを「POSIXシェルスクリプトがちゃんと動くか」というのを
確かめるのに使ってる人いる?
シェルスクリプトの妥当性をshellcheckみたいに静的じゃなく動的に検証したい。
確かめるのに使ってる人いる?
シェルスクリプトの妥当性をshellcheckみたいに静的じゃなく動的に検証したい。
736デフォルトの名無しさん
2020/11/02(月) 12:43:28.28ID:WhiKrslV737デフォルトの名無しさん
2020/11/02(月) 13:09:30.56ID:FhHZncje >>735
poshはバグが大量にある古いpdkshのフォークで
ろくにメンテナンスされてないので今も大量にバグが有る
https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=posh
poshはバグが大量にある古いpdkshのフォークで
ろくにメンテナンスされてないので今も大量にバグが有る
https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=posh
738デフォルトの名無しさん
2020/11/02(月) 13:11:03.65ID:FhHZncje POSIX準拠してるかを調べたいならdashを使ったほうが何倍もマシ
739デフォルトの名無しさん
2020/11/02(月) 13:26:39.74ID:n2BNqgKx >>738
dashね。thx
dashね。thx
740デフォルトの名無しさん
2020/11/02(月) 13:28:36.85ID:ew0mgVfp741デフォルトの名無しさん
2020/11/02(月) 13:28:58.41ID:lTcfprDV dash dash dash
742デフォルトの名無しさん
2020/11/02(月) 16:38:46.09ID:FhHZncje シェルスクリプトも最後のコマンドの評価結果をそのまま返す
743デフォルトの名無しさん
2020/11/02(月) 16:39:37.65ID:FhHZncje744デフォルトの名無しさん
2020/11/02(月) 16:42:40.40ID:UfGVYnOo いまどきのシェルスクリプトはほとんど/bin/bashでしょ
745デフォルトの名無しさん
2020/11/02(月) 16:56:54.34ID:pNDhR5km シバンに使われるのは/bin/shだろ?
そしてそれがDebian・Ubuntuだとdashになる
なぜ今どきはbashだと思ったのか?
そしてそれがDebian・Ubuntuだとdashになる
なぜ今どきはbashだと思ったのか?
746デフォルトの名無しさん
2020/11/02(月) 17:08:07.37ID:UfGVYnOo 初めはそうだったんだけどな
ディストリによっては/bin/shが/bin/bashなのでそれと気づかずbash拡張を使う奴が出てきて、debianやbsd等の/bin/shが/bin/bashじゃない環境じゃ動かなくなってきて
「bash拡張使ったスクリプトはshebangもちゃんと/bin/bashにしよう」ってなってきた
ディストリによっては/bin/shが/bin/bashなのでそれと気づかずbash拡張を使う奴が出てきて、debianやbsd等の/bin/shが/bin/bashじゃない環境じゃ動かなくなってきて
「bash拡張使ったスクリプトはshebangもちゃんと/bin/bashにしよう」ってなってきた
747デフォルトの名無しさん
2020/11/02(月) 17:14:14.89ID:pNDhR5km その結果bashが入ってないAlpine Linuxで動かないという問題が発生するわけで
さっさとPOSIX準拠に変更したほうがいい。bash依存は甘え。
っていうか俺勉強したくないんだーと言って必要もないのに/bin/bashにして
動かなくて後悔してるやつが増えてきてる。自業自得だが。
さっさとPOSIX準拠に変更したほうがいい。bash依存は甘え。
っていうか俺勉強したくないんだーと言って必要もないのに/bin/bashにして
動かなくて後悔してるやつが増えてきてる。自業自得だが。
748デフォルトの名無しさん
2020/11/02(月) 17:15:01.41ID:pNDhR5km シェルスクリプトはPOSIX準拠にしておけ
bash特有の機能を使いたくなったら別の言語を使うべきだ
bash特有の機能を使いたくなったら別の言語を使うべきだ
749デフォルトの名無しさん
2020/11/02(月) 17:17:28.98ID:ZpVsHyOp macのデフォルトシェルはzsh
750デフォルトの名無しさん
2020/11/02(月) 17:21:10.82ID:pNDhR5km macの/bin/shはbash
751デフォルトの名無しさん
2020/11/02(月) 17:23:00.46ID:ZpVsHyOp macの/bin/shはzsh
752デフォルトの名無しさん
2020/11/02(月) 17:23:45.79ID:pNDhR5km >>751
すぐバレる嘘を付くな
すぐバレる嘘を付くな
753デフォルトの名無しさん
2020/11/02(月) 17:24:32.82ID:pNDhR5km そもそも>>2に書いてある
・デフォルトシェルのシバンはBourneシェル時代からの伝統で#!/bin/shを使用します。ただしその実体はOSによって様々です
Debian系 … dash CentOS系 … bash Alpine … ash(busybox) Android … mksh
FreeBSD … ash Solaris,OpenBSD … ksh
macOS … bash(Single UNIX Specification準拠のために一部動作が異なる)
・ログインシェルは/bin/shでない場合があります。例 macOS … zsh
・デフォルトシェルのシバンはBourneシェル時代からの伝統で#!/bin/shを使用します。ただしその実体はOSによって様々です
Debian系 … dash CentOS系 … bash Alpine … ash(busybox) Android … mksh
FreeBSD … ash Solaris,OpenBSD … ksh
macOS … bash(Single UNIX Specification準拠のために一部動作が異なる)
・ログインシェルは/bin/shでない場合があります。例 macOS … zsh
754デフォルトの名無しさん
2020/11/02(月) 17:30:22.78ID:Xv3pPvZM tcsh : 思い出してください
755デフォルトの名無しさん
2020/11/02(月) 17:49:15.11ID:ew0mgVfp756デフォルトの名無しさん
2020/11/02(月) 18:35:32.48ID:pNDhR5km なんでbash使うんですか?bashじゃないとダメなことでもやってるんですか?
757デフォルトの名無しさん
2020/11/02(月) 18:52:50.96ID:j60yzXh/ 自分のためのスクリプトなので書きやすいように書くだけ
758デフォルトの名無しさん
2020/11/02(月) 18:54:08.71ID:pNDhR5km だからbashのどういうところが書きやすいの?
759デフォルトの名無しさん
2020/11/02(月) 18:56:50.41ID:wsJGkNeE >>741
wish and dash
wish and dash
760デフォルトの名無しさん
2020/11/02(月) 19:19:37.82ID:6dMpVrf4 < <( )
761デフォルトの名無しさん
2020/11/02(月) 19:30:22.69ID:pNDhR5km cmd |
762デフォルトの名無しさん
2020/11/02(月) 19:35:41.93ID:aDX4tDqS 代替になり得てないだろう
いつものPOSIXなやつか
いつものPOSIXなやつか
763デフォルトの名無しさん
2020/11/02(月) 19:40:13.91ID:pNDhR5km それがなりえてるんだなぁ
764デフォルトの名無しさん
2020/11/02(月) 19:42:01.99ID:aDX4tDqS お前にとってはな
全てお前にとってはだろうw
全てお前にとってはだろうw
765デフォルトの名無しさん
2020/11/02(月) 19:43:07.75ID:ew0mgVfp766デフォルトの名無しさん
2020/11/02(月) 19:44:07.24ID:pNDhR5km767デフォルトの名無しさん
2020/11/02(月) 19:45:33.32ID:pNDhR5km だいたいbashスクリプトじゃなきゃダメなんだみたいに
言ってるやつのスクリプトはfunctionをなくして
[[ ]] を [ ] に置き換えるだけで8割はそのままPOSIX準拠にできるんだがw
言ってるやつのスクリプトはfunctionをなくして
[[ ]] を [ ] に置き換えるだけで8割はそのままPOSIX準拠にできるんだがw
768デフォルトの名無しさん
2020/11/02(月) 19:47:44.55ID:aDX4tDqS >>765
そもそも前提が違う
シバンに /bin/sh と書いてるならPOSIXで書くべきってだけだな
特定のシェルが好みでその機能を使って、シバンもそれにしてるなら好き好きにでしかないわな
なぜか、
>シバンに使われるのは/bin/shだろ?
とだけになり、シェルの派生は使うなそれなら他の言語をとか言い出すいつもの。自分がPOSIXに拘ってるのだけだろうがただうざいだけw
そもそも前提が違う
シバンに /bin/sh と書いてるならPOSIXで書くべきってだけだな
特定のシェルが好みでその機能を使って、シバンもそれにしてるなら好き好きにでしかないわな
なぜか、
>シバンに使われるのは/bin/shだろ?
とだけになり、シェルの派生は使うなそれなら他の言語をとか言い出すいつもの。自分がPOSIXに拘ってるのだけだろうがただうざいだけw
769デフォルトの名無しさん
2020/11/02(月) 19:48:29.55ID:pNDhR5km /bin/shはどこでも入ってるが、
/bin/bashはAlpine Linuxなど入ってない環境がある
/bin/bashはAlpine Linuxなど入ってない環境がある
770デフォルトの名無しさん
2020/11/02(月) 19:51:03.74ID:aDX4tDqS 好き好きなんだから環境も好きにすんだよ、融通の利かない臨機応変出ないお前にはわからんだろうけど
問題があったら動かないし、シバンを変えるだけでもあるしな
問題があったら動かないし、シバンを変えるだけでもあるしな
771デフォルトの名無しさん
2020/11/02(月) 19:51:53.50ID:pNDhR5km POSIX準拠で書いていれば
シバンを変えるだけで動くんだよね
シバンを変えるだけで動くんだよね
772デフォルトの名無しさん
2020/11/02(月) 19:52:55.74ID:aDX4tDqS いつもの話が通じないモードか
773デフォルトの名無しさん
2020/11/02(月) 19:53:36.45ID:pNDhR5km 反論しろや
POSIX準拠で書いていれば
シバンを変えるだけで動くのは事実だろうが
POSIX準拠で書いていれば
シバンを変えるだけで動くのは事実だろうが
774デフォルトの名無しさん
2020/11/02(月) 19:57:02.06ID:aDX4tDqS イミフだからだぞ
>シバンを変えるだけ
ってなんのこっちゃ
>シバンを変えるだけ
ってなんのこっちゃ
775デフォルトの名無しさん
2020/11/02(月) 19:59:27.33ID:pNDhR5km なんだこいつwww
770 名前:デフォルトの名無しさん[sage] 投稿日:2020/11/02(月) 19:51:03.74 ID:aDX4tDqS [4/6]
好き好きなんだから環境も好きにすんだよ、融通の利かない臨機応変出ないお前にはわからんだろうけど
問題があったら動かないし、シバンを変えるだけでもあるしな
↓
774 名前:デフォルトの名無しさん[sage] 投稿日:2020/11/02(月) 19:57:02.06 ID:aDX4tDqS [6/6]
イミフだからだぞ
>シバンを変えるだけ
ってなんのこっちゃ
770 名前:デフォルトの名無しさん[sage] 投稿日:2020/11/02(月) 19:51:03.74 ID:aDX4tDqS [4/6]
好き好きなんだから環境も好きにすんだよ、融通の利かない臨機応変出ないお前にはわからんだろうけど
問題があったら動かないし、シバンを変えるだけでもあるしな
↓
774 名前:デフォルトの名無しさん[sage] 投稿日:2020/11/02(月) 19:57:02.06 ID:aDX4tDqS [6/6]
イミフだからだぞ
>シバンを変えるだけ
ってなんのこっちゃ
776デフォルトの名無しさん
2020/11/02(月) 20:03:40.47ID:aDX4tDqS bashが無ければインストールする、パスが違っていればシバンを適切に書き換えるだけ
後者なんて、それこそシェルスクリプト(というほどでもない)でのお仕事で簡単なこと
好きで使ってるならそんなの気にしないぐらいの
>>775
なに言ってるの?w なおさらナンノコッチャ
まだ「シバンを変えなくても」だったらわかるが、ますますわからんw
まさか「シバンで /bin/bash とか書いていてもPOSIX準拠してたらどう変えても動く」とか言いたいわけ?まさかなあwww
後者なんて、それこそシェルスクリプト(というほどでもない)でのお仕事で簡単なこと
好きで使ってるならそんなの気にしないぐらいの
>>775
なに言ってるの?w なおさらナンノコッチャ
まだ「シバンを変えなくても」だったらわかるが、ますますわからんw
まさか「シバンで /bin/bash とか書いていてもPOSIX準拠してたらどう変えても動く」とか言いたいわけ?まさかなあwww
777デフォルトの名無しさん
2020/11/02(月) 20:06:59.14ID:pNDhR5km シバンを変えるだけといいながら、
bashをインストールしなければいけないと前言撤回w
誰もがbashをインストールできるわけではない
bashをインストールしなければいけないと前言撤回w
誰もがbashをインストールできるわけではない
778デフォルトの名無しさん
2020/11/02(月) 20:09:07.31ID:aDX4tDqS いつものパターン
自分の何かがマズいと別の口実へとw
自分の何かがマズいと別の口実へとw
779デフォルトの名無しさん
2020/11/02(月) 20:31:01.29ID:UfGVYnOo シェルスクリプト使ってると精神が破壊されでもするのか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相を「こんなバカ」呼ばわりで物議…人気ミュージシャンが声明「感情的で稚拙だった。適切な言い方でなかった」 [muffin★]
- 芸能界ケンカ最強番付を発表「リングなら岡田准一」 横浜流星&新田真剣佑の名前も 1番強いのは誰か [牛丼★]
- 【物価高対策】「おこめ券を配布しません」大阪府交野の市長が明言「経費率が高い」「今高い米をムリして…」 [1ゲットロボ★]
- 「報道特集」山本恵里伽アナ、日中緊張で「当たり前のことがはっきり言いづらい空気…ショック」 [首都圏の虎★]
- 落ち度はゼレンスキー氏に 内政混乱、市民怒り [蚤の市★]
- 【サッカー】14歳ボールボーイ指先切断 J3岐阜対FC大阪の試合中、いす壊れ [征夷大将軍★]
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1812
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap605
- とらせん IP
- こいせん 全レス転載禁止
- 巨専】 ★3
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1811
- 【実況】博衣こよりのえちえちラムベガス🧪★6
- 洗車してから懐メロ聴きながらドライブしてる
- 高市早苗に3,000万円の献金を渡した団体、限界突破wwwwwwwwwwwwwwwwwwwwwwww [329329848]
- ワクチン打っちゃった正直な理由WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
- おさかなさんあつまれえ
- 🌳🪨🏡🪨🪨🌳🪨🏡🏜
