运行 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
并选择键绑定选项卡。
我有一个日常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
并选择键绑定选项卡。