运行 linux shell 脚本上的行选择

run line selection on linux shell script

我有一个日常shell脚本如下

#!/bin/bash or whatever

## block1 comments
program1 filepath1 &
program2 filepath2 &

## block1 comments
program3 filepath1 &
program4 filepath2 &

虽然通常不会发生,但块有时会更复杂,涉及定义的变量和 unix 命令。每天早上我打开这个文件,一整天我所做的就是 select 一段文本,粘贴到 'run' 脚本中并从终端调用它($ ./run.sh )

我想要的是将"select/copy/paste/switch to terminal/run"简化为"select/run"。这在许多简单的编辑器中都可以方便地完成。刚好用Geany,不知道怎么弄,听说Vim可以,不知道怎么弄

如果您知道其他可以执行此操作的编辑器,请留言。例如,许多脚本编辑器允许您 运行 在其相关语言解释器中 selected 文本。我想要的是 运行 终端中的这些 shell 脚本行,来自一个简单的编辑器,最好是 Geany 或 Vim.

您可能要考虑使用 bash case 语句:

#!/bin/bash -xe
set -x

case  in
        thing1)
                echo    T1
        ;;
        thing2)
                echo    T@
        ;;
        *)
                echo "usage ..."
                exit 1
        ;;
esac

在此之后,您应该给出要执行的批处理的命令。

set -x 启用调试,您可能会发现它很有用 - 或者干脆将其删除

在 Geany 中:

请检查Edit->Commands->Send selection to Terminal。 您还可以为此分配一个键绑定。为此:转到 Edit->Preferences 并选择键绑定选项卡。