linux – 仅当目录存在时才创建文件?

linux – 仅当目录存在时才创建文件?,第1张

概述如果目录存在,我正在尝试编写创建文件的模块,否则它不应该做任何事情. class puppetmodule{ exec { 'chk_dir_exists': command => 'test -d /usr/dir1', path => ["/usr/bin","/usr/sbin", "/bin"], } -> file {'usr/dir1/test.t 如果目录存在,我正在尝试编写创建文件的模块,否则它不应该做任何事情.
class puppetmodule{  exec { 'chk_dir_exists':    command => 'test -d /usr/dir1',path    =>  ["/usr/bin","/usr/sbin","/bin"],} ->  file {'usr/dir1/test.txt':    ensure => 'file',owner  => 'root',group  => 'root',mode   => '0750',}}

下面是它抛出的错误.请就此向我提出建议.

Error: test -d /usr/dir1 returned 1 instead of one of [0]

解决方法 这样的东西会起作用:
$dir = "/usr/dir1"  exec { "chk_${dir}_exist":    command => "true",onlyif  => "test -d ${dir}"  }  file {"${dir}/test.txt":    ensure => file,require => Exec["chk_${dir}_exist"],}

说明:

onlyif => “test -d ${dir}”

表示仅在test -d的输出为true时才创建Exec资源.

require =>执行[ “CHK _ ${DIR} _exist”]

表示仅在Exec资源存在时才创建文件资源.

如果该目录不存在,则puppet运行将生成错误,指示它无法创建file资源,因为Exec资源不存在.这是预期的,可以安全地忽略,因为其余的木偶目录仍然被应用.

如果该目录存在,则创建并应用文件资源.

总结

以上是内存溢出为你收集整理的linux – 仅当目录存在时才创建文件?全部内容,希望文章能够帮你解决linux – 仅当目录存在时才创建文件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/1036987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存