首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Filepath:在unix和winodws上使用相同的filepath

Filepath:在unix和winodws上使用相同的filepath
EN

Unix & Linux用户
提问于 2013-12-04 09:36:26
回答 1查看 943关注 0票数 1

我正在开发应用程序,它同时工作于unix和windows环境。

我使用samba将unix驱动器映射到窗口上。

关于cygwin:

代码语言:javascript
复制
 ls -l /remote
 /remote -> //samba1

当我尝试执行以下命令时:

代码语言:javascript
复制
myExecutable /remote/fileloc/filename.txt 

它在Unix中运行良好,但在打开文件时窗口出现故障。

如果我在windows上发出以下命令:

代码语言:javascript
复制
myExecutable //samba1/fileloc/filename.txt

效果很好。

有任何方式可以访问相同的路径(/remote/fileloc/filename.txt)在unix和窗口上?

我只能在窗户里换衣服。Unix驱动路径我无法更改。

EN

回答 1

Unix & Linux用户

发布于 2013-12-04 10:23:26

最简单的解决方案是使用相对路径名。例如,

代码语言:javascript
复制
myExecutable ../fileloc/filename.txt

在这两种系统上都是一样的。当然,这种语法要求调用脚本的当前目录(包含上面一行的脚本)与文件名位于同一个Windows驱动器号上。如果没有,我只会采用解决方案2:

更常见的解决方案是向脚本中添加一些条件代码,以检查您所在的主机或系统,并相应地设置一个变量。就像这样:

代码语言:javascript
复制
if [ `hostname` == mylinuxbox ]
then
    BASEDIR=/remote
else
    BASEDIR=//samba
fi

myExecutable "$BASEDIR"/fileloc/filename.txt
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/103636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档