gpt4 book ai didi

linux - 将 bash 代码片段添加到由 bash 脚本提供的 bash conf 文件中是个好主意吗?

转载 作者:太空宇宙 更新时间:2023-11-04 10:55:24 24 4
gpt4 key购买 nike

我有一个可执行的 bash 脚本,它从我的调制解调器中获取我的外部 IP 地址并将其上传到动态 DNS 服务中。该脚本附带一个配置文件,我从脚本中获取该文件。配置文件包含调制解调器凭据、我的主机名的 FQDN、调制解调器 IP 地址和“状态”网站地址的值。

为了获取我的外部 IP 地址,我需要从我的调制解调器中wget“状态”网页并执行一些grepsed操作获取外部IP。

所以实际的 grepsed 代码也是为每个用户定制的。主要问题是:规范 来说,这样的代码应该出现在 conf 文件中还是脚本本身中。

我很困惑,因为我以两种方式阅读这篇文章:

  1. 它是代码,所以它应该在脚本中
  2. 它是可变的,所以它应该在配置中

我知道这听起来像是茶杯里的 Storm ,但我想学习正确的方法。

另外,如果你认为正确的方法是(2),我不知道如何在配置文件中声明代码。我尝试了以下但不起作用。我也无法在互联网上找到类似的示例。

配置:

grab_modem_ip='grep "[0-9]*\.[0-9]*\.[0-9]*\.[[0-9]*" |
grep tabdata | sed 's/\(.*\)<\/td>.*/\1/''

alias grab_modem_ip='grep "[0-9]*\.[0-9]*\.[0-9]*\.[[0-9]*" |
grep tabdata | sed 's/\(.*\)<\/td>.*/\1/''

(请注意,我已将整个命令包含在 '...' — 单引号中。)

脚本

ipaddr=$( wget --user ${modemuser} --password ${modempass} "${modemsite}" -O - 2>/dev/null | "<grab_modem_ip>" )

最佳答案

我认为也许 2 是正确的解决方案。我认为你的命令将解决这个问题:

ipaddr=$( wget --user ${modemuser} --password ${modempass} "${modemsite}" -O - 2>/dev/null | eval "grab_modem_ip" )

关于linux - 将 bash 代码片段添加到由 bash 脚本提供的 bash conf 文件中是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29008182/

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