我有办法从特定的行开始运行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
答案 0 :(得分:6)
试试这个:
bash <(sed -n '5,$p' script.sh)