gpt4 book ai didi

Bash:将变量传递给 mv 命令选项

转载 作者:行者123 更新时间:2023-11-29 09:15:29 25 4
gpt4 key购买 nike

--Bash 4.1.17(使用Cygwin运行)

您好,我正在尝试将日期传递到移动 (mv) 命令的 --suffix 选项中。我可以传递一个简单的字符串(比如我的名字)但无法传递日期。如果您运行下面的脚本,您将看到后缀为“$var”的 mv 命令有效,但后缀为“$now”的命令无效。

#!/bin/bash

dir="your directory goes here"

now="$(date "+%m/%d/%y")"

var="_CARL!!!"

echo "$now"

echo "$var"

cd "$dir"

touch test.txt

# error if already exists
mkdir ./stack_question

touch ./stack_question/test.txt

mv -b --suffix="$var" test.txt ./stack_question/

想法是,如果在尝试移动文件时 test.txt 已经存在,则该文件将附加一个后缀。因此,如果您使用以下命令运行此脚本:

--suffix="$var"

您会看到stack_question 目录包含两个文件:

test.txt & test.txt_CARL!!!

但是,如果你运行这个脚本:

--suffix="$now"

您将在stack_question 目录中看到仅包含:

测试.txt

如有任何帮助,我们将不胜感激!

最佳答案

这是因为你在日期格式中嵌入了 / try

now="$(date +%m_%d_%y)"

关于Bash:将变量传递给 mv 命令选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27508738/

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