部分运行bash脚本

时间:2015-11-19 08:07:01

标签: bash

我有bash脚本1.sh:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="toScrollBottom" style="height: 150px; overflow-y: scroll; margin: 50px; border: solid 2px blue;">
  <div id="messages">
    <p>Message Line FIRST<br/>Message Line</p>
  </div>
</div>

只执行几个命令的更好方法是什么,所以在结果中我会得到输出:

echo 1
echo 2
echo 3
echo 4

或仅限:

1
2

1 个答案:

答案 0 :(得分:1)

编辑: 如果你有一个脚本,其中每一行只是一个简单的命令,就像你显示1.sh那样,那么你只能使用awk和xargs执行你选择的行

例如,如果您只想选择1所在的行并执行它:

awk '/1/ {print $0}' 1.sh | sh

或者,如果您想运行3条记录,可以使用:

awk '{if(NR == 3) print $0}' 1.sh | sh

另一方面,如果可以修改1.sh,那么我将使用输入参数来选择要执行的行,如下例所示:

#!/bin/bash

torun=$1

if [ "$torun" -eq 1 ] 
    then
        echo "run command 1"
        echo "run command 1b"
fi

if [ "$torun" -eq 2 ] 
    then
        echo "run command 2"
        echo "run command 2b"
fi