我正在使用bash脚本将配置文件复制到相应的目录中。我想输出我复制到用户的文件的名称。以下是我到目前为止的情况:
CONFIG_DIR="/home/stackoverflow/app/configs"
CONFIG_FILE="*.config"
cp $CONFIG_FILE $CONFIG_DIR
echo "$CONFIG_FILE was copied to $CONFIG_DIR"
我得到的输出是:
*.config was copied to /home/stackoverflow/app/configs
假设stackoverflow.config是脚本运行的目录中唯一存在的.config文件。我想说:
stackoverflow.config was copied to /home/stackoverflow/app/configs
答案 0 :(得分:5)
将-v添加到复制并让它打印所有文件名(每行一个名称)或将回显更改为
echo $CONFIG_FILE was copied to $CONFIG_DIR
即。删除双引号(在本例中它们不是必需的)。
答案 1 :(得分:3)
将$CONFIG
移到引号之外,以便允许shell扩展其通配符:
echo $CONFIG_FILE "was copied to $CONFIG_DIR"
答案 2 :(得分:0)
CONFIG_DIR="/home/stackoverflow/app/configs"
for file in *.config
do
cp $file $CONFIG_DIR
echo $file was copied to $CONFIG_DIR
done