Saya mencoba untuk menulis fungsi dalam wayang yang akan melakukan fail
jika jalur direktori yang dilewati tidak ada.
if File["/some/path"]
selalu mengembalikan true, dan if defined(File["/some/path"])
hanya mengembalikan true jika sumber daya didefinisikan dalam wayang, terlepas dari apakah itu benar-benar ada.
Apakah ada cara untuk melakukan ini dengan if
pernyataan sederhana ?
Terima kasih
Jawaban:
Solusi untuk ini: gunakan onlyif pada "tes" eksekutif dan minta dalam tindakan yang ingin Anda jalankan:
sumber
Saya juga mengalami kesulitan mencari cara agar modul tidak berjalan jika direktori tidak ada. Inilah yang saya temukan yang bekerja untuk saya.
Menambahkan jalan adalah yang benar-benar bermanfaat bagi saya. Dari beberapa alasan bahkan jika saya menambahkan path ke perintah tes seperti
/bin/test
itu sepertinya tidak berfungsi dengan benar.Semoga ini bisa membantu orang lain yang mungkin memiliki masalah yang sama.
sumber
Anda juga dapat menggunakan fungsi built-in find_file () untuk itu ... ia mengembalikan undef ketika file / path tidak ada dan string jika ada.
https://puppet.com/docs/puppet/5.5/function.html#findfile
sumber