【问题标题】:creating a shell script to modify and/or create bookmarks in firefox创建一个 shell 脚本以在 firefox 中修改和/或创建书签
【发布时间】:2015-04-23 17:38:52
【问题描述】:

我有几个应用程序在每次部署时都会更改 IP 地址。

我想知道如何创建一个 bash shell 脚本来:

  1. 修改/更新现有的 Firefox 书签
  2. 如果书签不存在,则创建它们。

经过一番研究,发现需要修改places.sqlite,于是下载了sqlite。我查看了schema,我认为 moz_places 和 moz_bookmarks 是我需要插入的,但我不确定。如果是这样,如果我需要 2 个单独的插入,将如何连接 ID。我已经有办法为每个新部署获取新的 IP 地址,所以我只需将其粘贴到变量中即可。

我的用例如下所示:

Deployment 1: URL: 192.168.1.**10**/app1
Deployment 2: URL: 192.168.1.**20**/app1

如果我可以首先创建多个文件夹并在其中插入书签,Brownie 点。比如 {Folder#1: app1, app2}, {Folder#2: app3}, {Folder#3: app4, app5, app6}。

【问题讨论】:

  • 一个更明智的方法是设置内部 DNS 并在那里更新 IP 地址,然后一劳永逸地按主机名添加书签。
  • 您是否正在寻找有关如何设置 DNS 服务器的说明?去谷歌上查询。如果您需要帮助,您需要提供有关您的服务器端环境的更多详细信息,并且还需要访问其他站点,因为这不是编程问题(我建议serverfault.com,但在您之前查找现有问题再发一个)。
  • 我再说一遍:放弃你的方法并为service.intra/app1 创建一个书签,然后从你的DNS 服务器集中更改service.intra 解析到的IP 地址。这是我们拥有 DNS 的原因之一。
  • 单机不需要DNS,只需要更新/etc/hosts文件中的IP和你要在URL中使用的名称即可。
  • 另一个非常简单(解决方法)的解决方案是为本地文件添加书签,然后定期更新该文件以进行元刷新以达到您的真正目标。

标签: sql bash sqlite shell firefox


【解决方案1】:

shell 脚本可能不是解决这个问题的最佳工具;但是您可以使用这样的脚本在每次重新部署应用程序时将浏览器重定向到新位置,并为localhost:<port>添加书签:

#!/bin/bash

# redirect localhost:<port> to another address with HTML                                                                

local_port="${1:?provide local port to listen on}"                                                                 
redirect="${2:?provide application ip address}"                                                      

while :; do                                                                     
  (                                                                             
    echo "HTTP/1.1 200 OK"                                                      
    echo ""                                                                     
    echo "<head>"
    echo "  <meta http-equiv=\"refresh\" content=\"0; url=$redirect\" />"
    echo "</head>"
    echo ""                                                                     
  ) | ncat -l -p "$local_port" > /dev/null                                               

done 

这可以让您在 Firefox 中为 localhost:8000 添加书签,并在重新部署时调用该脚本。您可以为每个应用程序运行一个脚本实例;您只需要更改侦听端口即可。如果您有一个重新部署您的应用的脚本,您可以在其中添加这些行。

$ bash redirect.sh 8000 192.168.1.10/app1
$ bash redirect.sh 8001 192.168.1.11/app1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-04
    • 1970-01-01
    • 2018-05-19
    相关资源
    最近更新 更多