标题:标量变量内的 bash 参数扩展
我有一个 bash 脚本,它在两个文件之间运行差异。如果有差异,我希望它打印 statement1 和 statement2 它们很长,所以我将它们放入变量中,但 echo 语句不会扩展参数。这可以在bash中完成吗?
#!/bin/bash
set -x
source="/home/casper"
target="data/scripts"
statement1="There is a change in ${i}, please check the file"
statement2="or cp /home/casper/${i} /data/scripts/$i"
for i in file1 file2l file3 file4 file5 ; do
sleep 1 ;
if diff $source/$i $target/$i 2>&1 > /dev/null ; then
echo " "
else
echo "$statement1 "
echo "$statement2 "
fi
done
exit 0
该脚本似乎有效 - 它在需要查找差异时找到了差异。然而,这是它打印出来的。
There is a change in , please check the file
or cp /home/casper/ data/scripts/
我想让它说
There is a change in file2, please check the file
or cp /home/casper/file2 /data/scripts/file2