0

我正在尝试从以下位置复制文件: ~/.ssh/ 但每次我运行脚本时它都会说

pi@raspberrypi:/etc/greenwich $ ./copybash.sh
cat: ~/.ssh/testfilegen2.log: No such file or directory

复制bash.sh

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

有什么建议么?

谢谢

4

2 回答 2

5

取消引用作业中的波浪号以sourceFile使其正确扩展。参数扩展时不会发生波浪号扩展。

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

(在这种情况下,根本不需要引号,而只是为了证明 the~和以下/是唯一需要保持不加引号的东西才能发生波浪号扩展。)

于 2017-02-26T19:47:32.743 回答
1

Take a look to this snippet code:

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

$ script.sh
Hi!

The documentation is in the section "Tilde Expansion" of the "General Commands Manual BASH".

于 2017-02-26T20:37:08.560 回答