Hyperlink Puppet exec:shell命令返回;找不到命令“;

Hyperlink Puppet exec:shell命令返回;找不到命令“;,hyperlink,terminal,exec,puppet,Hyperlink,Terminal,Exec,Puppet,这是我第一次在Puppet中使用exec,但我没有弄清楚为什么它会继续返回错误。我正在执行的命令包含一系列符号链接创建,代码为: exec { "creation_of_symbolic_links": command => "ln -s link1dest link1name; ln -s link2dest link2name; ... ; ln -s linkNdest linkNname", path => "/etc", #added just in o

这是我第一次在Puppet中使用
exec
,但我没有弄清楚为什么它会继续返回错误。我正在执行的命令包含一系列符号链接创建,代码为:

exec { "creation_of_symbolic_links":
     command => "ln -s link1dest link1name; ln -s link2dest link2name; ... ; ln -s linkNdest linkNname",
     path => "/etc", #added just in order to delete an error
}
所有LinkDest和LinkName都是绝对路径。返回的错误为:

错误:找不到命令“ln”

错误:/Stage[main]/main/Node[nodename]/Exec[creation\u of symbolic\u links]/returns:从notrun更改为0失败:找不到命令“ln”


如何避免此错误?

请阅读参考资料中参数的含义。 由于未正确定义路径,因此出现错误。 尝试使用:

path =>  [ '/bin/', '/sbin/' , '/usr/bin/', '/usr/sbin/' ]

成功了,谢谢。但是我仍然不明白为什么:既然我只使用了绝对路径,那么执行路径不应该是无关的吗?嗨-从你给出的例子来看,你没有使用命令
ln
的绝对路径。绝对路径应该是
/bin/ln
或发行版上ln所说的任何
。@kkamilpl提供的解决方案可以在没有绝对路径的情况下使用该命令,因为系统将在给定命令的定义路径下查找。