在Ubuntu18.04CLI中手动(以root用户身份)运行这些命令时,一切都正常。
sudo apt install snapd -y
snap install lxd
但是,当我在bash脚本中放入相同的行时,我会得到以下错误:
/dev/fd/63: line 71: sudo apt install snapd -y: command not found
/dev/fd/63: line 72: snap install lxd: command not found
我在另一个超级简单的脚本中将命令分开,然后安装了管理单元,但是对于第二个命令,我仍然可以得到:
/dev/fd/63: line 8: snap install lxd: command not found
下面是用GitLab的在线IDE编写的超级简单bash脚本:
#!/bin/bash
apt update
apt upgrade -y
apt autoremove -y
apt install snapd -y
snap install lxd
我从脚本开始
bash <(curl --request GET --header 'PRIVATE-TOKEN: PRIVATE' 'https://gitlab.com/api/v4/projects/1234567/repository/files/lxd-install-test.sh/raw?ref=master')
发布于 2020-04-21 12:05:07
检查您的脚本文件中的非标准空白字符,如非破缺空格。(U+00A0
或 )
错误消息command not found
通常报告未找到的命令的名称。(例如,( sudo
或snap
.)但在您的示例中,它将整行报告为命令。这是一个提示,将参数与命令名以及彼此分隔的空白字符不是常规空白字符(U+0020
),而是屏幕上显示为空白的其他一些字符。最常见的这类字符是非破缺空间(U+00A0
)。如果代码是从网页或其他格式化文本的源通过复制和粘贴传输的,则可能会发生这种情况。bash
命令行解析器不考虑这样的字符作为分隔符,因此不识别命令动词。
https://askubuntu.com/questions/1228261
复制