在linux shell脚本上运行行选择

时间:2015-10-19 11:38:15

标签: linux shell vim geany

我有一天例程shell脚本如下

#!/bin/bash or whatever

## block1 comments
program1 filepath1 &
program2 filepath2 &

## block1 comments
program3 filepath1 &
program4 filepath2 &

虽然通常不会发生这种情况,但有时候一个块会更复杂,包括已定义的变量和unix命令。每天早上我打开这个文件,整天我最终做的就是选择一个文本块,粘贴到' run'脚本并从终端($ ./run.sh)

调用它

我想要的是简化"选择/复制/粘贴/切换到终端/运行"进入"选择/运行"。这可以通过许多简单的编辑器方便地完成。我碰巧使用Geany,我不知道该怎么做,我听说Vim可以做到这一点,但我不知道怎么做。

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

2 个答案:

答案 0 :(得分:2)

在Geany:

请检查gitlab-rake gitlab:ldap:check。 您也可以为此分配键绑定。要这样做:去 Edit->Commands->Send selection to Terminal并选择Keybindings标签。

答案 1 :(得分:0)

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

#!/bin/bash -xe
set -x

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

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

set -x启用调试,您可能会发现它很有用 - 或者只是删除它