bash - 如何在没有美元符号的情况下复制和粘贴 Bash?
问题描述
假设我在 StackOverflow 响应中有以下代码:
$ export FLASK_APP=main.py
$ export FLASK_DEBUG=1
$ python -m flask run
有没有一种简单的方法可以在没有 $ 符号的情况下复制和粘贴它,所以我可以直接将它粘贴到我的终端中?
解决方案
你可以这样做:
. <( 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?
推荐阅读
- typescript - 在 TypeScript 中定义类型安全的通用对象访问器函数
- database - 在沙发上减去日期?
- tensorflow - Tensorflow libcublas.so.9.0 错误 - CUDA 版本 10.0
- r - 提取接触r中指定多边形的多边形
- excel - 在 VBA excel 中隐藏列
- javascript - 将值从 html 表单传递到 JavaScript 文件
- java - Vulkan - 使用多个线程时采样器使用错误的图像
- android - 如何固定要拖动的视图的起始位置
- c - C中的递归后序遍历和sprintf
- angular - Angular 6 - 获取 FormGroup 上的所有更改值