【发布时间】:2019-06-11 14:12:01
【问题描述】:
这是我的脚本
#!/bin/bash
PATH=/SomeFolder/file2.txt;
scp -3 user@server1:/SomeFolder/file.txt user@server2:$PATH;
我收到此错误
main.sh:第 3 行:scp:找不到命令
如果我用/SomeFolder/file2.txt 代替"$PATH",它仍然不起作用 - 同样的错误。只有在我删除整个第二行(PATH 定义)之后它才能工作。
我简化了我的脚本,PATH 是通过在另一台服务器中执行脚本来定义的,但这并不重要。我像你看到的那样对其进行了测试,我得出的结论是错误是由于首先定义了PATH。
【问题讨论】:
-
这就是为什么你不应该在你的脚本中使用大写的变量名。这些通常是为环境变量保留的,通常会对其他程序产生影响。