命令mv的参数包含空格错误

为当前最终发行版之前的所有版本提供支持
回复
头像
numbchild
帖子: 107
注册时间: 2010-03-16 12:34
送出感谢: 0
接收感谢: 0

命令mv的参数包含空格错误

#1

帖子 numbchild » 2011-01-24 2:07

我想写一个很简单的脚本,就是但读完一个文件pdf后,就可以用这个脚本来给文件名的最前面添加[R]这样一个标志,表示已读,但是我在使用$1时,发现但文件名原来包含空格时就是出现错误,于是我用\ 来转义,但是还是错误,
框架如下:
# convert space between word into underline
8 sed s/\ /_/g $1
9
10 # mark with [R]
11 mv "$x" \[R\]\ $1
12 echo "mark $1 as [R] $1"

其中的sed是用来把空格替换成_下划线,我记得有一个命令也可以做这个事,忘记是什么了,最好是直接在mv这个命令里解决问题,简单是哲学嘛,:-)
pengqian
帖子: 120
注册时间: 2010-12-23 10:23
送出感谢: 0
接收感谢: 4 次

Re: 命令mv的参数包含空格错误

#2

帖子 pengqian » 2011-01-24 6:41

#!/bin/bash
2 mv "$1" "\[R\]$1"
3 exit 0

好像有空格也没事啊
头像
numbchild
帖子: 107
注册时间: 2010-03-16 12:34
送出感谢: 0
接收感谢: 0

Re: 命令mv的参数包含空格错误

#3

帖子 numbchild » 2011-01-24 16:40

pengqian 写了:#!/bin/bash
2 mv "$1" "\[R\]$1"
3 exit 0

好像有空格也没事啊
我明白了,我是"\[R\]$1" 没有加“”,所以没有别作为单独的一个变量,谢谢啊,搞定了
回复

回到 “老旧版本支持”