我是 Play framework 的初学者。$PATH
我只是提取播放框架文件并提取它们并在全局变量中给出播放目录的路径。之后,当我在 ubuntu play help 上运行命令时,它给了我以下错误:
/usr/bin/env: sh: No such file or directory
任何线索为什么我面临这个错误以及如何解决它?
如果脚本具有 windows 行结尾而不是 unix 行结尾,通常会发生此错误。
尝试在脚本上运行dos2unix并尝试再次运行命令以查看是否出现相同的错误。
dos2unix [filename]
我遇到了同样的问题,并使用 Notepad++ 解决了它,方法是单击编辑 -> EOL 转换 -> Unix,然后保存文件。
$PATH
环境变量设置在~/.bashrc
,~/.bash_profile
或~/.profile
.
source
相关配置文件或启动一个新的 bash 终端应该可以解决问题。
只需使用此链接将 sh 终端更改为 bash ,一切都应该没问题。
1. Change user entry in /etc/passwd
a) edit /etc/passwd using any editor
$ vi /etc/passwd
b) find the line that belongs to the user (foo) that we about to modify
foo:x:1001:1001::/home/foo:/bin/sh
c) change from /bin/sh to /bin/bash
foo:x:1001:1001::/home/foo:/bin/bash
d) save
e) Logout and login back
2. Use chsh command
a) type chsh
$ chsh
b) You will be asked for password. Enter your password
c) This screen will appear
Enter the new value, or press ENTER for the default
Login Shell [/bin/sh]:
d) Put /bin/bash at the menu and press Enter
在新的 Macbook Pro 上运行时出现此错误,因为默认 shell 现在是 ZSH 而不是 Bash。只需键入bash
进入 bash shell,然后正常运行您的脚本。
如果您的文件在文件开头使用“BOM”标头(字节顺序标记)进行 UTF-8 编码,也会发生这种情况。使用您的编辑器“删除 bom”。
我有同样的错误。我正在使用适用于 Linux 的 Windows 子系统。首先,我尝试通过输入来删除 Windows Lineendings tr -d '\r' < input.sh > output.sh
。这实际上没有帮助,实际上路径实际上并不存在,而不是#!/usr/bin/env bash
我需要#!/usr/bin/bash
在脚本的第一行中使用。
我在 react-native 中遇到了更严重的错误,因为我忘记为 android studio 添加环境变量
添加 .bashrc
`export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools