※当サイトの記事には、広告・プロモーションが含まれます。

#!/bin/shでプロセス置換(Process Substitution)が使えずdiffの際はファイルで比較するしかない模様

gigazine.net

⇧ やはりOSSの維持は難しいんだなぁ...

理解があり、資本もあるスポンサーが付かないと厳しいよね...

freenginx.org

⇧ 開発、運用・保守をしていくのに必要な資金をサポートしてくれるスポンサーが付いて欲しいですな。

#!/bin/shでプロセス置換(Process Substitution)が使えずdiffの際はファイルで比較するしかない模様

泥沼にハマったので備忘録として。

diffコマンドで、ファイルでは無く、2つの変数での差分を比較したかったのだけど、

stackoverflow.com

unix.stackexchange.com

I figured out why I couldn't get it to work. Process substitution is a bash feature, which is usually not available in /bin/sh. My bash script had the wrong shebang. Was #!/bin/sh but should have been #!/bin/bash. – Andrew Jul 10, 2018 at 22:02

https://unix.stackexchange.com/questions/329094/elegant-way-of-diffing-two-variables

⇧ とあるように、「プロセス置換(Process Substitution)」は、bashでしか利用できないらしく、つまり、シェルスクリプトファイルの先頭行が、

#!/bin/sh    

⇧ となっている場合には利用できない...

で、「プロセス置換(Process Substitution)」みたいなことがbash以外でもできるやろと思っていたのだけど、どうやら、でき無さそうということが分かるまで、随分と時間を無駄にしてしまったわけですよ...

本当に、シェルスクリプト好きになれない...

なので、shebangBourne shell(#!/bin/sh)になっている場合は、変数によるdiffが無理そうなのでファイルを用意するしかなく、変数の中身を一時ファイルに書き込むという手間暇をかける必要があると。

シェルスクリプト関わりたくないなぁ...

毎度モヤモヤ感が半端ない...

今回はこのへんで。