小编Lib*_*Wen的帖子

如何将图像文件存储在 bash 变量中?

在我使用以下命令后,

pngString="$(cat example.png)"    
echo -n "$pngString" > tmp.png
Run Code Online (Sandbox Code Playgroud)

我无法将 tmp.png 作为 PNG 文件打开。当我$pngString用来存储图像文件时,可能会丢失一些信息。

所以问题是:如何在 bash 脚本中使用变量存储完整的图像信息?

bash binary images cat variable

14
推荐指数
1
解决办法
9300
查看次数

清除 bash 中的旧提示行以节省滚动空间

我的终端主题曾经是这样的,

在他们之前结束

但我认为提示浪费了太多空间。后来我有了一个想法,每次运行命令时我都可以清除提示。我正在使用 bash,解决方案之一是使用该preexec_invoke_exec功能。

我使用以下命令清除最后一个提示字符:

echo -ne "\033[1A\033[K\033[1A\033[K\033[31;1m$ \033[0m"
Run Code Online (Sandbox Code Playgroud)

这样终端就很干净了,像这样,

在此处输入图片说明

但是现在我的问题是,如果我想在一行中使用多个命令就会出现问题,比如说,当我使用for i in ....

这是我的 .bashrc 中函数的完整版本,

preexec () { echo -ne "\033[1A\033[K\033[1A\033[K\033[31;1m$ \033[0m"; echo -n "$1"; echo -ne "  \033[37;2m["; echo -n "$2"; echo -ne "]\033[0m\n"; }
preexec_invoke_exec () {
    [ -n "$COMP_LINE" ] && return  # do nothing if completing
    [ "$BASH_COMMAND" = "$PROMPT_COMMAND" ] && return # don't cause a preexec for $PROMPT_COMMAND
    local this_command=`history 1 | sed -e "s/^[ …
Run Code Online (Sandbox Code Playgroud)

shell bash prompt terminal

11
推荐指数
1
解决办法
1224
查看次数

标签 统计

bash ×2

binary ×1

cat ×1

images ×1

prompt ×1

shell ×1

terminal ×1

variable ×1