2017-02-26 7 views
0

に存在しますBashのスクリプトはありませんファイルは、私はからファイルをコピーしようとしているの〜/ .ssh/

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

いずれかの提案がありますか?それが適切に展開されるように

sourceFile

+2

実際には、特に 'copybash.sh'スクリプトの中にコードを追加する必要があります。 – Fred

+0

@Fredにはcopybash.shコードが含まれています – spbr

+1

を見てください:[私の質問に誰かが答えたときにどうしたらいいですか?】(http://stackoverflow.com/help/someone-answers) – Cyrus

答えて

5

UNQUOTE代入にチルダをいただき、ありがとうございます。パラメータ展開時にチルダ展開は行われません。

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」の です。

関連する問題