CWDのインストールタイプを検出するには、軽量でプラットフォームに依存しない方法が必要です。特に、CWDがSSHFS、NFS、CIFS、SMB、またはローカルブロックストレージマウントにあることを確認する必要があります。
Mac OSX 10.6、10.7、およびRHEL5(少なくとも)でこれを行う必要があります。
dfは使用できますが、dfは両方のプラットフォームでまったく異なる動作をします。また、出力を傷つけるためにawk CLIを使用する必要がありましたが、うまくいきましたが…不安定でした。
この情報はある程度利用可能でなければなりません。この情報を提供できる私が知らないツールはありますか?
ベストアンサー1
オペレーティングシステムに依存しない方法でファイルシステムの種類に簡単にアクセスすることはできません。ファイルシステムのタイプ名はオペレーティングシステムによって異なるため、標準的なアプローチを設定する誘惑はありません。
含まないLinuxシステムでは、stat -f -c %T .
現在のディレクトリのファイルシステムタイプを表示します。 OSXstat
コマンドにはそのようなものはありません。
あなたが知りたいのは、ファイルシステムタイプが制限されたリストにあるかどうかだけなので、Linuxでは情報が印刷されるパスとファイルシステムタイプのセットを制限できます。現在のディレクトリのファイルシステムタイプがリストにない場合、エラー(「df:未処理のファイルシステム」)が発生します。
if df -t sshfs -t nfs -t cifs . >/dev/null 2>/dev/null; then …
同じ構文が OSX で動作する場合と動作しない場合があります。そうでない場合は試してくださいdf -T sshfs,nfs,cifs .
。