0

我正在编写一个 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
4

3 回答 3

5

添加 -v 以复制并让它打印所有文件名(每行一个名称)或将 echo 更改为

echo $CONFIG_FILE was copied to $CONFIG_DIR

即删除双引号(在此示例中它们不是必需的)。

于 2012-10-18T15:19:40.083 回答
3

移动$CONFIG引号外部,以允许 shell 扩展其通配符:

echo $CONFIG_FILE "was copied to $CONFIG_DIR"
于 2012-10-18T15:17:59.433 回答
0
CONFIG_DIR="/home/stackoverflow/app/configs"
for file in *.config
do
    cp $file $CONFIG_DIR
    echo $file was copied to $CONFIG_DIR
done
于 2012-10-18T15:27:16.610 回答