[英]scp error when defining a “PATH” variable in a bash script
这是我的剧本
#!/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
而引起的。
之所以发生这种情况是因为PATH
是一个系统变量,它定义了应在其中查找程序和脚本的目录。 您可以通过执行echo $PATH
查看其值。 在脚本中,您将PATH
设置为/SomeFolder/file2.txt
因此/SomeFolder/file2.txt
通常在/usr/bin/
的程序scp
。 只需将脚本中变量PATH
的名称更改为其他名称即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.