我这里有脑痉挛。我希望能够做到这样的事情......
$ pwd
/user/red/thing1
$ cp ../file.txt basename `pwd`.txt
...并将生成的文件命名为thing1.txt
。当我运行上面的命令行时,我收到此错误cp: target ``/users/red/thing1/thing1.txt' is not a directory
,这对我来说似乎很奇怪。
谢谢!
答案 0 :(得分:3)
您正在尝试复制basename,这意味着文件的多个副本到目录。
也许你的意思是:
cp ../file.txt "$(basename $(pwd)).txt"
答案 1 :(得分:2)
cp ../file.txt $(basename $(pwd)).txt
请勿尝试使用后引号:
cp ../file.txt `basename \`pwd\``.txt
好的 - 这是可行的,但不像$(...)
那么容易。
这假设基本名称中没有空格;如果您需要担心空白,请在"$(...)"
周围添加双引号。甚至不要考虑用背引号来尝试。