小编Hap*_*ace的帖子

Shell:将文本输出为 PNG,同时保留颜色

我希望能够将 shell 命令的输出保存为 PNG 图像,而不会丢失格式。有点像输出的屏幕截图。

\n\n
some-command-with-color | text-to-png a.png\n
Run Code Online (Sandbox Code Playgroud)\n\n

我知道这个命令将文本转换为 PNG,但它不\xe2\x80\x99t 保留颜色:

\n\n
tldr -c tldr | convert -page  4000x4000 -font FreeMono -pointsize 20  -background white -trim +repage -bordercolor white  -border 15 text:- png:a.png\n
Run Code Online (Sandbox Code Playgroud)\n\n

在此输入图像描述

\n

shell colors imagemagick images

10
推荐指数
1
解决办法
2584
查看次数

我的变量的值为 0,但我没有将其设置为 0

今天我注意到我的一个 zsh 函数不起作用;我调查了这个问题,罪魁祸首是:

for i in a b
do
echo "$i"
done
0
0
Run Code Online (Sandbox Code Playgroud)

然后我打开了一个新的 zsh,一切正常:

for i in a b
do
echo "$i"
done
a
b
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释第一个对我来说很奇怪的原因吗?

zsh variable

7
推荐指数
1
解决办法
337
查看次数

zargs 可以运行别名吗?

我已pip install -U别名为pi. 我想跑:

zargs ~/scripts/python/**/requirements.txt -- pi -r
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

我也试过这个丑陋的选择:

zargs ~/scripts/python/**/requirements.txt -- ${aliases[pi]} -r
Run Code Online (Sandbox Code Playgroud)

但它说(eval):2: command not found: pip install -U

我想 zargs 应该能够做这些事情,因为它是一个 zsh 内置的。

zsh xargs

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

如何将 arg 添加到 $@?

我喜欢能够... && add-arg 'something',并有“东西”被添加到位置参数,有点像一个 inverse shift

我试过... && set "$@ something",但这不起作用,尽管只是做set "$@ something"(没有条件)似乎工作正常。

bash zsh posix arguments

5
推荐指数
2
解决办法
306
查看次数

Zsh:是否可以禁用双引号内的历史扩展?

是否可以禁用双引号内的历史扩展?

我不希望完全禁用历史扩展,因为我仍在使用它,但我认为没有理由扩展字符串内的历史记录......

我期望的行为的一个例子:

$ echo "Hello!"
Hello!
$ !!
Hello!
Run Code Online (Sandbox Code Playgroud)

zsh history-expansion

5
推荐指数
0
解决办法
255
查看次数

如何将 zsh 字符串数组存储(和加载)到文件中?

我想在一个文件中存储一些引号的数组(所以基本上是带有新行的真实世界的字符串)。我怎样才能实现它?我想将 IFS 设置为类似“xxxxxxxxx74765xxx”(这永远不会出现在我的字符串中)之类的东西,但当然,IFS 仅适用于单个字符。

我可以想到一些丑陋的技巧来做到这一点(例如,将那个无意义的字符串存储为元素之间的一行,逐行读取文件并根据它检查每一行,然后重建数组。),但我会更感激有经验的意见。

zsh array

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

What's the idiomatic way of returning an array in a zsh function?

I have this function,

rpargs () {
    local i
    args=()
    for i in "$@"
    do
        test -e "$i" && args+="$(realpath --canonicalize-existing -- "$i")"  || args+="$i"
    done
}
Run Code Online (Sandbox Code Playgroud)

And I want to return args. The only ways I can think of are either to printf '%s\0' and then split it via expansion flags (0@), or to use a global like the code above.

zsh array function

4
推荐指数
2
解决办法
1049
查看次数

是否`echo -n | ...` 向管道发送 EOF?

是否echo -n | ...向管道发送 EOF?IE,

echo -n | sth
Run Code Online (Sandbox Code Playgroud)

sth在其标准输入上收到 EOF 吗?

shell pipe file-descriptors cat stdin

4
推荐指数
3
解决办法
1258
查看次数

如何按修改日期对 zsh 数组进行排序?

如何按修改日期对 zsh 数组进行排序?

files=( ~/a ~/b ~/c )
# how to sort files by date?
Run Code Online (Sandbox Code Playgroud)

PS:这是我的确切用例,(fz几乎fzf

v () {
 local files
 files=() 
 command rg '^>' ~/.viminfo | cut -c3- | while read line
 do
  [ -f "${line/\~/$HOME}" ] && files+="$line" 
 done
 test -f ~/.emacs.d/.cache/recentf && {
  command rg --only-matching --replace '$1' '^\s*"(.*)"$' ~/.emacs.d/.cache/recentf | while read line
  do
   [ -f "$line" ] && files+="$line" 
  done
 }
 files="$(<<<"${(F)files}" fz --print0 --query "$*")"  || return 1
 files="${files//\~/$HOME}" 
 local …
Run Code Online (Sandbox Code Playgroud)

zsh array date sort files

3
推荐指数
1
解决办法
1277
查看次数

tmux:查找只有死窗格的所有会话

我想找到只有死窗格的会话,然后杀死它们。我该怎么做呢?

tmux process-management

3
推荐指数
1
解决办法
450
查看次数

GNU cp:“--link”和“--reflink=always”有什么区别?

--link和 和有什么区别--reflink=always

我使用以下命令作为mv替代,我想知道使用是否--reflink是更好的选择。

command gcp -r --link --archive --verbose "${opts[@]}" "$@"
# delete the sources manually
Run Code Online (Sandbox Code Playgroud)

hard-link cp coreutils reflink

3
推荐指数
1
解决办法
961
查看次数