Bash使用ssh命令调整了非常奇怪的行为

时间:2017-11-02 04:10:30

标签: bash shell unix ssh

考虑脚本s2:

<a ng-click="open(course.name)" class="btn btn-brown btn-sm">Delete</a>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </panel>
        </div>
    </div>
     <script type="text/ng-template" id="myModalContent.html">
      <div class="modal-header">
          <h3 class="modal-title">Confirmation</h3>
      </div>
      <div class="modal-body">
          Are you sure you want to delete course?
      </div>
      <div class="modal-footer">
          <button class="btn btn-brown" ng-click="ok()">Delete</button>
          <!--<button class="btn btn-primary" ng-click="cancel()">Cancel</button>-->
      </div>
   </script>

脚本s1

<android.support.design.widget.TextInputLayout
                 android:id="@+id/textinputlayout"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="15dp"
                 android:layout_marginRight="15dp"
                 android:layout_marginTop="40dp"
                 app:hintTextAppearance="@android:style/TextAppearance.DeviceDefault.Inverse">

                 <android.support.design.widget.TextInputEditText
                     android:id="@+id/nameEdit"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:hint="User Name" />

</android.support.design.widget.TextInputLayout>

现在拨打s1。它不会调用ssh命令。

如果删除&amp;在s1它会。 如果你直接打电话给./s2那就会。 如果您输入控制台./s2&amp;它会。

但是./s1不起作用。为什么?

1 个答案:

答案 0 :(得分:1)

  

我不知道它不会调用ssh命令。如果我取消睡眠,它会立即退出。

确实调用ssh命令。它必须!没有魔力。

假设只是因为当您删除sleep时脚本立即退出,这是一个很大的错误,它不会调用ssh。 这个结论是不正确的。 可以有其他理由来解释这种观察到的行为。

如果您想验证ssh没有运行, 一种方法是查看系统日志。

脚本很快退出 (不是立即),因为ssh很快退出。 s2运行时,它会收到空的stdintail命令消耗并输出任何内容, 所以ssh shell终止没有任何输出。这就是全部。

s2更改为此以查看差异:

#!/bin/bash
ls / | ./s2 &
wait

这种方式s2将使用非空stdin, 并且应该产生一些输出。

顺便说一下,sleep 1000从一开始就没必要了,感谢wait