Saya mencoba menguji dalam skrip kulit ikan untuk keberadaan figlet
biner. Karena saya menggunakan Linux dan OS X, saya tidak dapat mengandalkan file yang berada di lokasi yang sama dan harus menyelesaikannya secara dinamis. Saya terbiasa melakukan ini dengan $(which)
di bash, yang berfungsi.
Dengan ikan meskipun ini tidak bekerja dengan baik. Mengapa?
function print_hostname --description 'print hostname'
if test -x (which figlet)
hostname | figlet
end
end
Jawaban yang Diterima:
Gunakan type
di fish
seperti di shell mirip Bourne:
if type -q figlet
hostname | figlet
end
Atau untuk membatasi executable di $PATH
(mengabaikan fungsi, bawaan):
if command -s figlet > /dev/null
hostname | figlet
end