首页 > 解决方案 > 如何在没有美元符号的情况下复制和粘贴 Bash?

问题描述

假设我在 StackOverflow 响应中有以下代码:

$ export FLASK_APP=main.py
$ export FLASK_DEBUG=1
$ python -m flask run

有没有一种简单的方法可以在没有 $ 符号的情况下复制和粘贴它,所以我可以直接将它粘贴到我的终端中?

标签: bashcopy-paste

解决方案


你可以这样做:

. <( sed 's/^\$ //' <<'PASTE'
**paste here**
PASTE
)

或者,把它变成一个函数:

undollar() { . <( sed 's/^\$ //' ); }

比你用那个喜欢

$ undollar<hit enter>
<paste here>
<hit Ctrl+D>

这两种方法都使用.命令,因此在当前 shell 中可以看到效果:例如,对于您列出的命令,FLASK_APP 和 FLASK_DEBUG 环境变量保留在 shell 中。


正如 Charles Duffy 所指出的,旧版本的 bash 无法获取进程替换:请参阅Why source command doesn't work with process substitution in bash 3.2?


推荐阅读