linux - 如何从特定行启动 shell 脚本?

标签 linux shell

#!/bin/sh
echo "install 1"
echo "install 2"
[ $? -eq 0 ] || exit $?;
cyberciti 
[ $? -eq 0 ] || exit $?;
echo "install 3"
echo "install 4"

上述脚本在第 4 行失败 (cyberciti)。在进行必要的更正后,如何获取行号并从该行开始重新运行脚本,并跳过已执行的命令?

最佳答案

要跳过前 4 行(因此从第 5 行开始):

tail --lines=+5 script.sh | sh

根据 the man page , --lines=K 表示输出最后K行,而不是最后10行;或使用 -n +K 从第 K 开始输出

归功于 Aaron Digulla他的回答here .编辑:感谢l0b0为了防止我的 cat 来自 taking over the world !

关于linux - 如何从特定行启动 shell 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29539949/

相关文章:

linux - 在树莓派上找不到 libdb

linux - 如何使用 awk 比较 CSV 列?

java - 使用JAVA API在远程服务器上执行shell脚本

bash - 最小化 bash 中延迟循环处理的缓冲管道

c - 检查另一个程序的输出的程序

c - 为什么 %u %d 在 UNIX/LINUX 上不能用于打印地址

linux - 如何阻止 getopts 将空白或 null 或其他选项作为选项值

bash - sed 无法匹配 0 次或 1 次

无法从重定向的 io 中读取数据

c - Linux:写一个C程序,那个 'controls'一个shell