【问题标题】:Bash script file hangs on executeBash 脚本文件在执行时挂起
【发布时间】:2015-04-07 13:39:50
【问题描述】:

我刚刚意识到我不能再在我的 debian 上执行 .sh 脚本了。 它曾经工作得很好。所有 .sh 文件都经过 +x chmodded 并且可以正常工作。 突然,一旦我执行:./test.sh 系统挂起。 我可以通过 ctrl+c 来阻止它,但脚本永远不会执行。

到目前为止所做的步骤是重新启动我的 VPS。 有什么想法吗?

【问题讨论】:

  • 显而易见的问题:test.sh 是做什么的?脚本的内容是什么?
  • 都是 Tuxlite LAMP 脚本的 .sh 脚本。我现在执行的是:pastebin.com/ntK6A0M0

标签: bash debian lamp


【解决方案1】:

我很确定 shell 脚本仍在您的机器上运行,因为如果它们不是,您将无法完成任何引导周期。

如果我认为您在使用自制脚本时遇到问题,那么您可能应该检查您的 shebang 行(例如 #!/bin/sh),看看那里是否使用了任何不寻常的东西。

New scripts are using a dispatcher to interpreters: 
`#!/usr/bin/env bash` #lends you some flexibility on different systems
`#!/usr/bin/bash`     #gives you explicit control on a given system of what executable is called

The difference between “#! /usr/bin/env bash” and “#! /usr/bin/bash”?

【讨论】:

  • 感谢您的回答。是的,他们似乎工作。它挂在我使用的 LAMP 的所有 .sh 脚本上。其中之一的内容可以在这里找到:pastebin.com/ntK6A0M0
  • 如果一切都挂在开始我会验证行«source ./options.conf»(options.conf的内容)。
  • 如果我执行 source ./options.conf,它仍然会挂起。选项文件在那里。
  • 所以,我怀疑 ./options.conf 上的代码有问题。
猜你喜欢
  • 1970-01-01
  • 2015-03-01
  • 1970-01-01
  • 2011-03-18
  • 2014-04-07
  • 2021-05-17
  • 2013-01-19
  • 1970-01-01
  • 2016-09-19
相关资源
最近更新 更多