Bash:从特定行开始运行脚本

时间:2015-03-13 17:57:46

标签: bash

我有办法从特定的行开始运行bash脚本吗?

假设我的脚本看起来像这样:

0 #!/bin/bash
1 ...
2 clone a repository
3 ...
4 command that crashed

我去修复第4行,我想重新运行脚本而不运行第1,2,3行的代码,而是直接从第4行开始。

我快速搜索这个问题的标题没有给我答案。如果有办法用bash做到这一点,那将是有用的。

感谢您的回答。如果你还想在开头保留一些行,另一个解决方案是:

 # assuming you want to run your script except from line 4 to 7
 sed '4,7s/^/#/g' -i script.sh; ./sript.sh #this replaces the beginning of the line ^ with # from lines 4 to 7
 # to undo the comments
 sed '4,7s/^#//g' -i script.sh; ./sript.sh

1 个答案:

答案 0 :(得分:6)

试试这个:

 bash <(sed -n '5,$p' script.sh)