2017-02-26 77 views
0

我試圖將文件從複製:的〜/ .ssh/ 但每次我運行它使腳本說bash腳本 - 無文件存在在〜/ .ssh/

[email protected]:/etc/greenwich $ ./copybash.sh 
cat: ~/.ssh/testfilegen2.log: No such file or directory 

copybash.sh

!/bin/bash 
sourceFile="~/.ssh/testfilegen2.log" 
targetFile="/etc/network/interfaces2" 
sudo cat "$sourceFile" > "$targetFile" 
sudo service networking restart 

有什麼建議嗎?

謝謝

+2

您確實需要提供更多信息,特別是'copybash.sh'腳本中的代碼。 – Fred

+0

@Fred included copybash.sh code – spbr

+1

請看看:[我應該怎麼做當有人回答我的問題?](http://stackoverflow.com/help/someone-answers) – Cyrus

回答

5

引文結束波浪號的分配sourceFile,使其擴展正確。參數擴展不會發生Tilde擴展。

sourceFile=~/".ssh/testfilegen2.log" 

(在這種情況下,沒有引號,有必要在所有,但只是爲了證明~及以下/只需要仍然不加引號的出現波浪線擴展的東西。)

+0

謝謝,工作正常 – spbr

1

看看這個片斷代碼:

#!/bin/bash 
v1=~/'file1.txt' 
v2=~/'file2.txt' 
echo 'Hi!' > $v1 
cat $v1 > $v2 
cat $v2 

$ script.sh 
Hi! 

的文檔,可參考「波浪線擴展」的「General Commands Manual BASH」 。