我正在尝试创建一个简单的脚本,该脚本将从Server1或Server 2或从Server 2复制文件到Server1(取决于我从何处运行脚本(我创建了一个脚本,该脚本应识别我是哪个服务器,请访问源文件夹和目标文件夹并执行。
例如
sh script.sh /home/test /destest
应该从测试文件夹到另一台服务器到dest Folder
COP Y文件。但是有什么对我有用的,我一直得到
没有这样的文件或目录:
有什么想法?
#!/bin/bash
SRC1=$1
DEST=$3
BOX=$(hostname)
if [ $BOX=server1 ]; then
sudo scp $SRC1 server2: $DEST
else
sudo scp -v $SRC1/* server1: $DEST
fi
不要在 server1:
和 server2:
之后放置空间。
您需要在if
测试中=
周围的空间。
,如果您实际上想将其分为单独的参数,则几乎应该总是引用变量。
#!/bin/bash
SRC1=$1
DEST=$3
BOX=$(hostname)
if [ "$BOX" = server1 ]; then
sudo scp "$SRC1" "server2:$DEST"
else
sudo scp -v "$SRC1"/* "server1:$DEST"
fi
这是我现在正在工作的固定脚本:(
#!/bin/bash
BOX=$(hostname)
if [ "$BOX" = server1 ]; then
sudo scp "$1" user@server2: "$2"
else
sudo scp "$1"/* user@server1: "$2"
fi