我曾经使用 python 命令在 Firefox 上执行此操作,但最近发生了一些变化,我无法再获取 URL!
过去与 Firefox 一起使用的是什么:
#!/bin/bash
current_tab_num () {
python2 <<< $'import json\nf = open("/home/username/.mozilla/firefox/xxxxx.default/sessionstore.js", "r")\njdata = json.loads(f.read())\nf.close()\nprint str(jdata["windows"][0]["selected"])'
}
current_tab_url () {
sed -n "$(current_tab_num)p" <(python2 <<< $'import json\nf = open("/home/username/.mozilla/firefox/xxxxx.default/sessionstore.js", "r")\njdata = json.loads(f.read())\nf.close()\nfor win in jdata.get("windows"):\n\tfor tab in win.get("tabs"):\n\t\ti = tab.get("index") - 1\n\t\tprint tab.get("entries")[i].get("url")')
}
current_tab_url
Run Code Online (Sandbox Code Playgroud)谁能告诉我如何在 Firefox 和/或 chrome 中做到这一点?
注意:我不懂 python,我只是在某处找到了这些命令并在 bash 中使用了它们!
我目前正在使用debian jessie,并且在其存储库中找不到qemu 启动器。
但是我想知道如何启动或启动ISO映像并包含 原始文件 (file.img;由dd创建)作为硬盘驱动器,我还想知道如何让 qemu 在启动的 ISO 中使用互联网连接。
请问该怎么做?谢谢
在许多情况下,我需要创建与其他程序同名的函数,我不知道这是否是使用 bash 脚本的好方法。
例子:
function echo () {
echo -n "$@" ;
}
Run Code Online (Sandbox Code Playgroud)
经过测试,它看起来像是在 bin 路径之前检查脚本内的函数名称。我想确保这一点以及我应该知道的任何其他信息。
在这里,我想要一些类似于aircrack-ng
在终端屏幕中显示文本的方式,或者像矩阵脚本......!
例如,如果我的终端屏幕已经包含 4 行,我想更新第一行的第一行,其他行也一样......(使用 bash)
更准确地说,我想要一个如下所示的脚本:
#!/bin/bash
while :
do
echo "line1"
echo "line2"
echo "line3"
echo "line4"
# without using clear cmd, next cycle line1 should be printed
# in line1 place not in a new line , and same for other lines
done
Run Code Online (Sandbox Code Playgroud) 我的问题是该参数$0
给出了与 相同的结果${0##*/}
,这是在使用 SHC 程序将 x-shellscript 转换为 x-executable 之后发生的!
操作系统:Debiab-8.2-jessie SHC 版本:3.8.7 cmd 使用: shc -f script.bash
编译后的 script.x 驻留在额外的 bin 路径中(sudo 不知道)。 注意我创建了一个 hello world 程序来打印参数 $0,它总是给我基本名称!
我的脚本文件包含:
#!/bin/bash
((!EUID)) || exec sudo "$0"
# shellcode ...
Run Code Online (Sandbox Code Playgroud)
当我执行它时,我得到这个:
须藤:脚本名称:找不到命令
检查后我发现该参数$0
与x 可执行文件相同${0##*/}
或$(basename $0)
位于其中!
如果不在脚本中放置绝对路径,我该如何处理?或者当我使用 SHC 将 shell 编译为 x 可执行文件时我应该知道什么?