Windowsでは、ファイルの保存ダイアログボックスに表示できるように、存在しないファイルへのフルパスを作成して、ホストアプリケーションにファイルを保存する場所を伝えることがよくあります。 Cygwinを使用すると、次のことができます。
cygpath -au Some/Relative/Path.blah # For Cygwin apps
cygpath -aw Some/Relative/Path.blah # For Windows apps
putclip
関連アプリケーションのファイル保存ダイアログに貼り付けられるように、生成されたフルパスをCygwinにパイプすることがよくあります。より正確には、putclp
終了キャリッジリターンを削除する私の関数(「i」を除く)にパイプします。
私がLinuxで見つけたものに最も近いのは次のとおりです。
readlink -e Some/Relative/Path.blah
xsel -ip
X-windowsメインクリップボードやxsel -ib
Ubuntuのより現代的なWindowsに似たクリップボードにパイプします。
残念ながら、readlink -e
パスは1つだけ返されます。既存の文書。アプリケーションにファイルを作成する場所を指定するため、存在しないファイルへのフルパスを生成する必要があることがよくあります。
cygpath
readlink
/存在しないファイルに対して指定された相対パスに基づいてフルパスを生成する対応がありますか?
必要なコマンドが呼び出されると仮定すると、GetFullPath
必要な機能の例は次のとおりです。
GetFullPath Relative/Path/To/Nonexistent/File
標準出力の結果はです/The/Full/Path/To/Nonexistent/File
。
答え1
realpath -m Some/Relative/Path.blah
それで十分です。 Linuxではシンボリックリンクをチェックする必要はなく、リンクを含むパスとそうでないパスとの間に実際に使用法の違いはありません。後者でできることは前者にも当てはまります。保存ダイアログを気にしないでください!
やや奇妙な理由で、保存ダイアログにシンボリックリンクがないことに本当に興味がある場合でも、同じ-m
オプションが適用されます。readlink -e Some/Relative/Path.blah