def*_*tor 1 ruby bash cygwin jruby
在我的脚本中,我有一个部分需要将本地路径名称更改为绝对路径(不进入它,对不起)
我在用
args+="-f "
args+="$(realpath "$relative-path") "
jruby -Ilib bin/trace.rb $args
Run Code Online (Sandbox Code Playgroud)
这适用于脚本中的内容,但是当我将此绝对文件路径传递给ruby时,它不知道该怎么做.我可以想办法通过字符串替换在我的本地方框上解决这个问题.sub(C:for cygpath/c),但是如果我要将我的脚本部署到一个未知的文件系统,我可能会遇到麻烦.它需要在cygwin上进行开发(我知道我必须在寡妇中开发)和unix盒子.
题:
这是一种方法,我可以使我的脚本总是通过一个可用的路径作为一个arg到ruby(jruby,但这不重要).
对单个解决方案的建议或者以不同方式处理cygwin和unix环境的建议都是受欢迎的.
Cygwin的cygpath
命令是工作的工具.它在Cygwin的POSIX路径和各种形式的Windows路径之间进行转换.它甚至会为你做绝对路径转换,所以:
args+="$(cygpath -wa "$relative-path") "
Run Code Online (Sandbox Code Playgroud)
有关其选项的详细信息,请参阅cygpath的帮助输出或手册页.
归档时间: |
|
查看次数: |
619 次 |
最近记录: |