macOS と Linux の sed の違い

sogaoh
·

Mac mini では動いて、Debian 12 のコンテナ上では動かなかったスクリプト、ChatGPT4 先生に聞いたら

if [[ "$OSTYPE" == "darwin"* ]]; then

# macOSの場合

find $COMPILED_DIR -type f -name "*.js" | xargs sed -i '' -e "s/\(require..\)\($ESCAPED_DEPENDENCY\)/\1\/opt\/node_modules\/\2/g"

else

# Linuxの場合

find $COMPILED_DIR -type f -name "*.js" | xargs sed -i -e "s/\(require..\)\($ESCAPED_DEPENDENCY\)/\1\/opt\/node_modules\/\2/g"

fi

みたいに、

sed -i '' -e

sed -i -e

にして、って。

ちなみに $OSTYPE はシェルが自動的に設定し、環境変数としてアクセス可能、だそうだ。

@sogaoh
177cmのこびと