首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何解决'/dev/fd/63:命令未找到‘bash脚本错误

如何解决'/dev/fd/63:命令未找到‘bash脚本错误
EN

Ask Ubuntu用户
提问于 2020-04-18 14:39:13
回答 1查看 8.4K关注 0票数 1

在Ubuntu18.04CLI中手动(以root用户身份)运行这些命令时,一切都正常。

代码语言:javascript
代码运行次数:0
运行
复制
sudo apt install snapd -y
snap install lxd

但是,当我在bash脚本中放入相同的行时,我会得到以下错误:

代码语言:javascript
代码运行次数:0
运行
复制
/dev/fd/63: line 71: sudo apt install snapd -y: command not found
/dev/fd/63: line 72: snap install lxd: command not found

我在另一个超级简单的脚本中将命令分开,然后安装了管理单元,但是对于第二个命令,我仍然可以得到:

代码语言:javascript
代码运行次数:0
运行
复制
/dev/fd/63: line 8: snap install lxd: command not found

下面是用GitLab的在线IDE编写的超级简单bash脚本:

代码语言:javascript
代码运行次数:0
运行
复制
#!/bin/bash

apt update
apt upgrade -y
apt autoremove -y

apt install snapd -y
snap install lxd

我从脚本开始

代码语言:javascript
代码运行次数:0
运行
复制
bash <(curl --request GET --header 'PRIVATE-TOKEN: PRIVATE' 'https://gitlab.com/api/v4/projects/1234567/repository/files/lxd-install-test.sh/raw?ref=master')
EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2020-04-21 20:05:07

检查您的脚本文件中的非标准空白字符,如非破缺空格。(U+00A0或 )

错误消息command not found通常报告未找到的命令的名称。(例如,( sudosnap.)但在您的示例中,它将整行报告为命令。这是一个提示,将参数与命令名以及彼此分隔的空白字符不是常规空白字符(U+0020),而是屏幕上显示为空白的其他一些字符。最常见的这类字符是非破缺空间(U+00A0)。如果代码是从网页或其他格式化文本的源通过复制和粘贴传输的,则可能会发生这种情况。bash命令行解析器不考虑这样的字符作为分隔符,因此不识别命令动词。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1228261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档