当我尝试运行包含envsubs命令的脚本时,会出现此错误。从网上看,这似乎是一个标准的bash命令,所以我不确定要安装什么才能让它正常工作。
为了消除潜在的混淆:
envsubst
是一个外部可执行文件,因此不是Bash的一部分;外部可执行文件依赖于平台,无论是在哪些可用以及它们的特定行为和它们支持的特定选项方面(尽管希望有一个基于POSIX规范的通用子集)bash
中的命令称为内置命令,只有它们才能在所有平台上存在。要测试给定命令是否是内置命令,请使用
type <cmdName>
在本例中,在macOS 10.13上运行类型envsubt将返回bash:type:envsubt:not found,从中可以推断:
(相比之下,在Ubuntu 12.04系统上运行相同的on命令时,返回的envsubt是散列的(/usr/bin/envsubt),它告诉您该实用程序存在以及它所在的位置。)
envsubt的一种临时替代方法是使用eval,尽管通常的警告适用:仅在您控制或信任其内容的字符串上使用eval:
假设一个样本。包含未展开变量引用的文本的txt文件;例如。:
cat > sample.txt <<'EOF'
Honey, I'm $USER
and I'm $HOME.
EOF
相当于:
envsubst < sample.txt
是:
eval "echo \"$(sed 's/"/\\"/g' sample.txt)\""
然而,有一个至关重要的区别:
envsubst
仅扩展环境变量引用编辑:@cobberboy的anwer更正确。投票给他。
brew install gettext
brew link --force gettext
以下是我以前的答案:
envsubst
包含在gettext
包中。
因此,您可以使用标准构建工具(如make
或使用homebrew
自行编译。
然而,在MacOS中安装gettext时,它似乎没有什么问题。有关详细信息,请参阅以下url:如何在MacOS X上安装gettext
brew install gettext
brew link --force gettext
这将在OS X上启用envsubst,并强制其正确链接。它需要安装自制软件。
问题内容: 在Oracle Enterprise Linux中,当我输入时 我已经安装了Java 1.6,并且具有以下功能 我该如何解决这个问题? 谢谢 问题答案: 您可以使用以下命令将Java路径之一添加到PATH变量。 您可以将此行添加到主目录中的.bashrc文件中。将此添加到.bashrc中将确保每次打开bash时都会更新PATH变量。
2)使用返回google-cloud-sdk中的64bit版本的SDK... 3)我已经重新启动了终端,并从google-cloud-sdk内部运行。这将返回“”。如果我运行,我将看到以下目录结构: 4)我也尝试在内运行,但是遇到了同样的问题,。 谢谢
问题内容: 我有一个docker撰写文件 而且我已经配置了詹金斯工作以通过调用另一个外壳文件“ environment.sh”来执行此文件,但是它尝试执行以下错误: 我如何在jenkins服务器中下载和配置docker-compose,也没有可用的插件!,适用于docker-compose 问题答案: $ PATH环境变量中可能不存在您。 首先,您应该删除所有冲突的内容- 在大多数Linux系统上
在运行命令之后,我尝试运行命令,然后运行命令 ` 有人帮忙吗?
我有一个网络钩子齿轮为我的不和谐机器人。我想让embarss命令(在webhook cog中)触发一个webhook,创建时使用用户名和pfp,这很好。然而,我也希望这个命令能够被设置到一个特定的用户身上,这就是问题所在。当我尝试将成员参数添加到embarrass函数中时,它看起来像:async def embarrass(self、ctx、member:discord.member),但不起作用