在 Windows 上,我经常创建一个不存在的文件的完整路径,以便我可以将它提供给文件保存对话框,从而告诉主机应用程序将文件保存在何处。使用 Cygwin,这是完成的:
cygpath -au Some/Relative/Path.blah # For Cygwin apps
cygpath -aw Some/Relative/Path.blah # For Windows apps
我经常将生成的完整路径通过管道传输到 Cygwin putclip
,以便我可以将其粘贴到相关应用程序的文件保存对话框中。更准确地说,我将它通过管道传递给我自己的函数putclp
(没有“i”),它删除了终止回车。
我为 Linux 找到的最接近的对应物是
readlink -e Some/Relative/Path.blah
我将其通过管道传输到xsel -ip
X-windows 主剪贴板或xsel -ib
Ubuntu 中更现代的类似 Windows 的剪贴板。
不幸的是,只返回现有readlink -e
文件的路径。我经常需要为不存在的文件创建完整路径,因为我要告诉应用程序在哪里创建文件。
是否有cygpath
/的对应物readlink
可以根据指定的相对路径创建不存在文件的完整路径?
如果我们假设调用了所需的命令GetFullPath
,则以下是所需功能的示例:
GetFullPath Relative/Path/To/Nonexistent/File
标准输出的结果将是/The/Full/Path/To/Nonexistent/File
.