我正在尝试重命名我的文件夹。
当前文件夹名称=苹果。我想将它重命名为apsomeple。
"一些"在新名称的中心将是一个变量。
我尝试了以下但是它不起作用。请指教。如果我将它添加到最后进行测试,它就可以了。
name="some"
mv apple ap$nameple # doesn't work
mv apple apple$name # works - just testing
答案 0 :(得分:3)
您可以使用{}
来界定变量的名称:
mv apple ap${name}ple
如果您的变量有可能包含空格字符,与提供的示例不同,那么您还需要在输入新文件名周围加上双引号:
mv apple "ap${name}ple"
答案 1 :(得分:3)
引用你的变量!
mv apple ap"$name"ple
或者,您可以使用花括号(仍然在引号内):
mv apple "ap${name}ple"
有些人可能会说在这种情况下引用并不是绝对必要的,但我个人认为这些好处(一个更强大的脚本)超过了成本(一个可怜的两个额外字符)。
答案 2 :(得分:1)
mv apple "ap${name}ple"
应该有效
为什么目标
需要双引号考虑
name="some stuff"
用
mv apple ap${name}ple
单词拆分与${name}
一起发生,您将无法获得结果。
所以mv
可能会给你:
mv: target ‘stuffple’ is not a directory
用
mv apple "ap${name}ple"
ap${name}ple
被视为单一实体。
答案 3 :(得分:1)
在变量名称周围加上大括号。
mv apple "ap${name}ple"
编辑:在一些本地测试之后,看起来像zsh和bash处理这种情况有点不同。 Bash 需要双引号来防止单词拆分和通配,而zsh 不需要双引号,并且无论如何都表现相同。
答案 4 :(得分:1)
您是否尝试过使用双引号......
mv apple ap"$name"ple
答案 5 :(得分:-2)
mv /path/tofolder/oldfilename /path/tofolder/newname
例如: 如果文件夹位于桌面上
mv /home/Desktop/apple /home/Desktop/apsomeple