我有一種方法可以從特定行開始運行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
我不相信有什麼辦法可以做到這一點超越註釋掉的那些明顯或複製和粘貼。 – 2015-03-13 18:00:57
謝謝,但我長期以來一直在尋找更快的解決方案。 – daniela 2015-03-13 18:03:57
這就是爲什麼我沒有發佈它作爲答案。雖然我不指望你會得到更好的。那麼...我想你可能會使用類似'sed -ne'##,$ p'「$ script」|的東西bash -s',如果你真的想忽略某條線上的* everything *。 – 2015-03-13 18:13:37