【问题标题】:/usr/bin/bash: No such file or directory/usr/bin/bash: 没有这样的文件或目录
【发布时间】:2019-10-07 20:36:08
【问题描述】:

我在尝试运行软件时遇到以下错误:

/afs/cern.ch/work/a/atnourji/ROOTAnalysisTutorial/build/atlas_build_run.sh:第16行:/usr/bin/bash:没有这样的文件或目录

非常感谢您对此事的任何建议?

$ nano /afs/cern.ch/work/a/atnourji/ROOTAnalysisTutorial/build/atlas_build_run.sh:

#!/user/bin/bash

# Transmit errors: set -e

# Set up the environment: source /afs/cern.ch/work/a/atnourji/ROOTAnalysisTutorial/build/x86_64-centos7-gcc62-opt/setup.sh || exit 1

# Run the command: exec $* || exit 1 ~

【问题讨论】:

  • 是否 /usr/bin/bash 存在?你的shell的位置在不同的机器之间是不同的。 #!/usr/bin/env bash 通常是更好的选择(搜索 PATH 以尝试找到 bash 的副本),假设您的操作系统提供 /usr/bin/env
  • 顺便说一句,exec $*非常 错误。您可能应该改为运行 exec "$@"
  • ...为了证明我的意思是 exec $* 有问题,请在修复最初的“没有这样的文件或目录”问题后尝试通过此包装器运行命令 printf '%s\n' "first line" "second line" '*'
  • 在 Linux Mint 上,bash 是 '/bin/bash'。我相信大多数发行版都会跟进,而 env 是 /usr/bin/env
  • user != usr。检查shebang。

标签: linux bash testing atlas


【解决方案1】:

我建议使用 #!/usr/bin/env bash 作为 shebang(免责声明:我的回答)。带有“e”的 /user 不是标准的 *nix 路径。

【讨论】:

  • 他们使用usr 复制和粘贴的错误消息暗示user 在提问时是一个错字,而不是他们实际使用的一部分。因此,这看起来像是 /bin/bash-vs-/usr/bin/bash 问题,而不是 /user-vs-/usr 问题。
猜你喜欢
  • 2015-08-16
  • 2021-10-24
  • 2016-04-18
  • 2016-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-21
  • 1970-01-01
相关资源
最近更新 更多