如何不修改bash脚本文件,跳过指定行数直接执行脚本?
解决方案
你可以直接对脚本内容做行过滤后传递给bash解释器执行,全程不需要修改原call.sh文件,两种常用操作方式如下:
- 使用
tail命令指定从第4行开始读取内容执行
执行命令:
说明:tail -n +4 call.sh | bashtail -n +N的作用是从文件第N行开始输出内容,跳过前3行就取N=4,刚好从脚本的if判断逻辑开始运行。 - 使用
sed命令删除前3行后执行
执行命令:
说明:sed '1,3d' call.sh | bash1,3d是sed的规则配置,代表删除输入内容的第1到第3行,剩下的脚本内容会直接交给bash运行。
注:以上两种方式都适用于你的当前脚本,脚本中没有依赖执行路径、脚本名变量的逻辑,执行效果和直接运行过滤后的脚本完全一致。
内容的提问来源于stack exchange,提问作者Malay
相关产品推荐
相关产品推荐

