gpt4 book ai didi

Bash 脚本 : No such file or directory when defining variable via source vars. txt

转载 作者:行者123 更新时间:2023-12-04 19:37:50 24 4
gpt4 key购买 nike

我有一个创建文件哈希的脚本,将其写入 vars.txt,然后在下次运行脚本时检查该变量以确定文件是否已更改。

Here is the script vars.txt (粘贴箱)

当我运行脚本时,我用 source /path/to/file 调用变量

现在解析文件时出现以下错误:

/opt/scripts/AutoCommit/vars.txt: line 2: etchttpdconf_dvhost.conf=925ec4d7bd0dc94c3710bcf5fb2c80f422806bb5  /etc/httpd/conf.d/vhost.conf: No such file or directory

最重要的是,当文件更改时 sed现在不是替换该行,而是在下面添加一个附加行。它过去没有这样做过。

你会得到一个以 like this. 结尾的文件直到最近这还没有发生,所以我怀疑它们都是由同一个问题引起的。

Here is a stripped down version of the script, where I believe the problem may be.

最佳答案

问题似乎是您的文件名包含多个点。生成变量名时,只有第一个替换为下划线。变量名中有一个点会导致您收到神秘的错误消息,但实际上只是一个语法错误。

要替换 Bash 的“参数扩展”中出现的所有模式,您必须在前面加上 /到模式。因此,解决您的问题的方法是在脚本的第 6 行中使用以下代码:

fileVarName="${fileVarName//./_}"

关于Bash 脚本 : No such file or directory when defining variable via source vars. txt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33014200/

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