开发者社区 问答 正文

shell脚本中入参有\时如何不进行转义操作

我想要在MinGW中快速切换到某目录
但从windows资源管理器中复制得到的路径是这种格式的 D:xxxxxxxxx
所以需要手动把换成/,比较麻烦

我做了一些事情
1.写了一个shell脚本叫chdir.sh

#!/bin/bash

read -r input
path=${input//\\//}
cd "$path"

2.在.profile文件中添加alias chdir = ". chdir.sh"

这样做后,只需要
1.输入chdir,回车
2.将复制的路径粘贴到shell中,回车
然后就能切换到目标路径了

现在有一个问题:
我想少打一个回车,就是将想要转换的路径做为参数传入shell脚本,但这样的话会被当做转义字符给弄没,所以想问一下有没有办法解决.

展开
收起
a123456678 2016-06-17 17:14:36 4196 分享 版权
1 条回答
写回答
取消 提交回答
  • 提供给脚本的参数会被bash处理之后再传入,
    而似乎bash里没有相关的转义开关,所以似乎只能使用引号了~
    硬要说的话:
    你可以写个中间层……
    读取输入,经处理,转给bash……

    2019-07-17 19:43:11
    赞同 展开评论