小编ara*_*one的帖子

如何从 tmux.conf 导出函数

我为 tmux 编写了一个插件tmux-gitbar。它在 tmux 状态栏中显示了有关当前目录的 Git 状态的一些信息。每次用户运行命令时都必须更新状态栏,为此我添加了一个从$PROMPT_COMMAND变量调用的函数。

我现在在做什么:

在文件中.bashrc

source ~/.tmux-gitbar/tmux-gitbar.sh;
Run Code Online (Sandbox Code Playgroud)

在文件中tmux-gitbar.sh

update_gitbar() {
    #
    # update tmux status bar
    #
}
PROMPT_COMMAND="update_gitbar; $PROMPT_COMMAND"
Run Code Online (Sandbox Code Playgroud)


我想在不添加一行的情况下.bashrc实现相同的结果。所有都应该在tmux.conf文件中执行。我已经设法$PROMPT_COMMAND通过在以下方式进行修改tmux.conf

PROMPT_COMMAND="update_gitbar; $PROMPT_COMMAND"
Run Code Online (Sandbox Code Playgroud)

现在我的问题是将update_gitbar函数导出到环境中

我尝试了各种方法来获取脚本,但没有运气:

run-shell "source ~/.tmux-gitbar/tmux-gitbar.sh"
run-shell "eval $(~/.tmux-gitbar/tmux-gitbar.sh)"
run-shell "eval $(cat ~/.tmux-gitbar/tmux-gitbar.sh)"
Run Code Online (Sandbox Code Playgroud)

我总是得到:

update_gitbar: command not found
Run Code Online (Sandbox Code Playgroud)

题:

我如何从 tmux.conf 文件导出一个函数(在另一个文件中声明)并使该函数可用于环境?

如果这有帮助,当前代码可在github 上找到

git bash prompt tmux

5
推荐指数
1
解决办法
1056
查看次数

将字节数据插入 Sqlite 前不带 b'

我正在尝试将加密的用户名插入到我的 sqlite3 数据库中,但它包括b'处理实际值。

这导致我的应用程序出现问题。

我的代码看起来像:

hashed_username = enc(prompt_account_username, salt)
print('\n\nusername: {}\n\n'.format(hashed_username))
Run Code Online (Sandbox Code Playgroud)

这打印:

username:

b'sc\x00\x02\x16\x88\x04\xa2\x9d\xb9!\xe0\x9e-5\xb3\x8a\xd8r\xbc\x83\x01\r\x98\xb1\xe3\xb2i=\x16\xc8Y\xbe\xdd\x0f\x8e\x8c\xa2\xb0\xd0R\xf7gx2\x1d\xfb\xfeX\xda\xb9Y\xd6Ls\x88\xaa<\x9c\x12\xf3\xbeq\r\x8d\xcb\xc0\x8adF\x1dl\xc5\xde'
Run Code Online (Sandbox Code Playgroud)

然后插入这个完整的字节值,包括 b'

当我运行时:

conn.execute("""
            INSERT INTO my_acct
            (acct_username)
            VALUES (?) """, (v[0], )
            )
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它插入,只有值,没有b', 具有如下值:

sc\x00\x02\x16\x88\x04\xa2\x9d\xb9!\xe0\x9e-5\xb3\x8a\xd8r\xbc\x83\x01\r\x98\xb1\xe3\xb2i=\x16\xc8Y\xbe\xdd\x0f\x8e\x8c\xa2\xb0\xd0R\xf7gx2\x1d\xfb\xfeX\xda\xb9Y\xd6Ls\x88\xaa<\x9c\x12\xf3\xbeq\r\x8d\xcb\xc0\x8adF\x1dl\xc5\xde
Run Code Online (Sandbox Code Playgroud)

谢谢

sqlite byte python-3.x

4
推荐指数
1
解决办法
1786
查看次数

Git One-liner用于交互式应用补丁

我有这个补丁文件,它包含一堆修改,我想将其应用于git分支。但是,我不想对所有这些修改都进行一次唯一提交,而是想将其分为2或3次提交

我知道我可以通过首先应用补丁来实现此目的,然后进行交互式添加(逐块),如下所示:

git apply mypatch
git add -p
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否可以在一个git命令中做到这一点。我发现没有什么的联机帮助页git apply,也不在git add

编辑

我不认为此问题应被视为具有多个命令的Git别名语法的重复,因为该问题(及其答案)不需要涉及传递给别名的参数。

git git-add git-patch git-apply

2
推荐指数
1
解决办法
1451
查看次数

标签 统计

git ×2

bash ×1

byte ×1

git-add ×1

git-apply ×1

git-patch ×1

prompt ×1

python-3.x ×1

sqlite ×1

tmux ×1