簡體   English   中英

在bash腳本中定義“ PATH”變量時出現scp錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM