【问题标题】:Shebang followed by rm command not a self deleting scriptShebang 后跟 rm 命令不是自删除脚本
【发布时间】:2014-10-10 15:18:22
【问题描述】:

我在 bash 上参考本教程 http://www.tldp.org/LDP/abs/html/sha-bang.html#AEN226 以进一步提高我的知识,但我似乎无法使用网站中提到的脚本命令删除我的脚本。是我做错了什么还是代码本身有问题?

#!/bin/rm
# Self-deleting script.

# Nothing much seems to happen when you run this... except that the file disappears.

WHATEVER=85

echo "This line will never print (betcha!)."

exit $WHATEVER  # Doesn't matter. The script will not exit here.
                # Try an echo $? after script termination.
                # You'll get a 0, not a 85.

我也试过了,

#!/bin/rm -f

那也行不通。

【问题讨论】:

  • 代码很好,对我有用。你到底是如何执行脚本的?如果您将其称为bash MyScript.sh(而不是./MyScript.sh),则会覆盖shebang。 (或者你有一个奇怪的系统,/bin/rm 不存在?)
  • 谢谢,我不知道,但有道理。我可能应该删除这个问题。
  • 您可以要求 DevSolar 将其发布为答案,并接受它,而不是删除。它肯定会帮助面临类似问题的人。

标签: bash


【解决方案1】:

shebang 表示法表示脚本按原样执行时要使用的解释器 (./MyScript.sh)。

如果您明确说明解释器 - 如bash MyScript.sh - 否决 shebang 行。所以我猜这就是这里发生的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-17
    • 2020-01-26
    • 2012-09-19
    • 1970-01-01
    • 2017-03-27
    • 2020-07-09
    • 2020-02-01
    • 2019-03-08
    相关资源
    最近更新 更多