gpt4 book ai didi

linux - 附加日期时复制命令不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:08:47 25 4
gpt4 key购买 nike

我写了一个 bash 脚本:

date=$( date +%F ) 
cp $1 $1_$date

当以这种方式编写并提供单个参数时,它工作正常。但是如果我写:

cp $1 $date_$1

我收到一条错误消息:

cp: ‘1.sh’ and ‘1.sh’ are the same file

有人可以向我解释一下为什么会发生以及如何解决。谢谢!

最佳答案

问题是 _ 是变量名中完全有效的字符。

这样重写:

cp $1 ${date}_$1

$date_ 的值(注意尾部 _)可能是空的。所以你的命令变成了真正的cp $1 $1。通过使用大括号,我们明确变量的名称是“date”而不是“date_”。

你还应该引用变量使用的是文件名,以防它们包含空格:

cp "$1" "${date}_$1"

关于linux - 附加日期时复制命令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32293925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com