sed
Linuxで使用されているGNUスクリプトがインストールされており、GNUisms/bin/sed
が含まれているようです。 Mac OS Xを使用する共同作業者がいます。 GNU以外のインストールsed
、場所、/usr/bin/sed
およびHomebrew(http://mxcl.github.io/homebrew/)sed
次のようにGNUをインストールできます。gsed
コアツールパッケージはにあります/usr/local/bin/gsed
。
現在のスクリプトはで始まります#!/bin/sed -f
。sed
GNUをインストールしたときにMac OS Xで動作するように変更するにはどうすればよいですかgsed
?
別のオプションはGNUismを削除することですが、共同編集者に中間バージョンのテストを依頼するためにMac OS Xをインストールしていないため、少し難しいかもしれません。
ベストアンサー1
いくつかのオプションがあります:
#!/usr/bin/gsed -f
どこでも(そこにあると仮定して/usr/bin
)Shebangとして使用し、Linux環境が正しくシンボリックリンクされていることを確認してください。- GNUismを削除します。
sed
ユーザーディレクトリより古いディレクトリのシンボリックリンク(/usr/bin/gsed
潜在的に危険)/usr/bin
$PATH
- 次のようにラッパースクリプトを作成します。
#!/bin/sh
script=/foo
type gsed >/dev/null 2>&1 && exec gsed -f "$script"
exec sed -f "$script"
最後に、1つ以上の環境を変更する必要があるか、スクリプト自体を変更する必要があります。