shell下路径带空格问题

倒腾了半天的wine,希望在linux下使用windows程序。

本想使用FoxitReader看PDF的,无奈安装好了却打不开DPF文件,网上查询说是文件关联问题,windows目录结构是用“\”,而Linux确是用"/",导致打不开文件问题。

网上找到了解决方法,使用脚本进行路径空格的转换,源码如下,无奈,有错“wine: cannot find '/home/haoxi/.wine/drive_c/Program\'

#!/bin/bash
# this is the wrapper to launch windows foxit reader
FoxitReader_wine="/home/haoxi/.wine/drive_c/Program\ Files/Foxit\ Software/Foxit\ Reader/Foxit\ Reader.exe"
root_drive='Z:\\'
launch_param=''
for file in $@
do
    # if the file path is not full path, we should expand it
    if [ ! `echo $file | grep ^/` ]; then
        file="$(pwd)/$file"
    fi
   # format path under wine (Z:\ is the root in wine)
    param="${root_drive}$(echo "$file" | sed 's/\//\\/g')"
    launch_param="$launch_param $param"
done
  #run f
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 如果您在使用adb pull命令时出现了空格路径问题,您可以使用引号将路径括起来来解决该问题。例如,如果您要将文件从设备中的路径“/sdcard/My Folder/file.txt”复制到计算机中的路径“C:\My Folder”,则可以使用以下命令: ``` adb pull "/sdcard/My Folder/file.txt" "C:\My Folder" ``` 这将确保adb pull命令正确地解释路径,并且不会将空格解释为路径的分隔符。 ### 回答2: adb pull命令是用于从Android设备中将文件复制到计算机上的命令。当路径中包含空格时,adb pull命令无法正确识别和解析该路径,导致无法正常提取文件。 要解决这个问题,有几种方法可供选择: 1. 在路径中使用引号或反斜杠:可以尝试在包含空格路径前后添加引号或使用反斜杠来转义空格。例如,adb pull "/sdcard/my folder/file.txt" 或 adb pull /sdcard/my\ folder/file.txt。 2. 使用通配符:可以使用通配符来匹配路径中的空格。例如,adb pull /sdcard/my*folder/file.txt。这将匹配路径中的"my folder"部分,并且可以成功提取文件。 3. 重命名文件:如果可以在设备上访问并重命名文件,则可以将包含空格的文件名更改为不包含空格的名称,然后使用adb pull命令提取文件。 4. 将文件打包到.tar或.zip文件中:将包含空格的文件夹打包成.tar或.zip文件,然后使用adb pull命令提取该压缩文件。例如,adb shell tar -cvf /sdcard/my_folder.tar /sdcard/my\ folder/,然后使用adb pull命令提取.tar文件。 总之,当路径中包含空格时,adb pull命令可能会遇到问题。可以尝试使用引号、反斜杠、通配符、重命名或打包等方法来解决这个问题

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值