Shell 脚本 cp 不工作(但在终端工作)Mac os X
Shell script cp not working (but working in terminal) Mac os X
我最近一直在学习 shell 脚本,但被一个奇怪的错误难住了:
我的简单脚本(test.command):
#!/bin/sh
clear
cd /Users/Stan/Desktop/testFolder
ls
cp "earth.png lol.png"
read -p "Done, press ENTER to finish"
每当我 运行 脚本(双击 .command 文件)时,这里是输出(从终端 window 复制):
earth.png
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
Copy was done...?
earth.png
Done, press ENTER to finish
cp 总是给出一个 'usage' 错误,并且不会复制任何东西,但是现在如果我手动 运行 相同的命令,在终端中按顺序(终端的副本 window ):
Stans-Mac-mini:testFolder Stan$ ls
earth.png
Stans-Mac-mini:testFolder Stan$ cp earth.png lol.png
Stans-Mac-mini:testFolder Stan$ ls
earth.png lol.png
Stans-Mac-mini:testFolder Stan$
文件复制成功,没有任何错误!请帮我解决这个问题,我在网上找不到任何解决方案,非常感谢帮助!
更改cp
命令
cp "earth.png" "lol.png"
cp
命令格式为:cp <from> <to>
。您的命令类似于 cp "<single-file>"
。 earth.png
和 lol.png
都在引号内,这使它成为一个文件。第二个参数丢失,这就是 "usage error"
的原因
当您将提供给 cp
的源参数和目标参数作为一个字符串引用时,它只会得到一个参数。
命令:
cp "earth.png lol.png"
尝试复制一个名为 "earth.png lol.png"
的文件(顺便说一句,这是一个完全有效的文件名),但随后未能提供第二个参数。
相反,引用每个单独的论点:
cp "earth.png" "lol.png"
我最近一直在学习 shell 脚本,但被一个奇怪的错误难住了:
我的简单脚本(test.command):
#!/bin/sh
clear
cd /Users/Stan/Desktop/testFolder
ls
cp "earth.png lol.png"
read -p "Done, press ENTER to finish"
每当我 运行 脚本(双击 .command 文件)时,这里是输出(从终端 window 复制):
earth.png
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
Copy was done...?
earth.png
Done, press ENTER to finish
cp 总是给出一个 'usage' 错误,并且不会复制任何东西,但是现在如果我手动 运行 相同的命令,在终端中按顺序(终端的副本 window ):
Stans-Mac-mini:testFolder Stan$ ls
earth.png
Stans-Mac-mini:testFolder Stan$ cp earth.png lol.png
Stans-Mac-mini:testFolder Stan$ ls
earth.png lol.png
Stans-Mac-mini:testFolder Stan$
文件复制成功,没有任何错误!请帮我解决这个问题,我在网上找不到任何解决方案,非常感谢帮助!
更改cp
命令
cp "earth.png" "lol.png"
cp
命令格式为:cp <from> <to>
。您的命令类似于 cp "<single-file>"
。 earth.png
和 lol.png
都在引号内,这使它成为一个文件。第二个参数丢失,这就是 "usage error"
当您将提供给 cp
的源参数和目标参数作为一个字符串引用时,它只会得到一个参数。
命令:
cp "earth.png lol.png"
尝试复制一个名为 "earth.png lol.png"
的文件(顺便说一句,这是一个完全有效的文件名),但随后未能提供第二个参数。
相反,引用每个单独的论点:
cp "earth.png" "lol.png"