Tidak dapat menjalankan Bash 5 dari launchd
Sep 21 2020
Saya memiliki agen launchd berikut:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>bash-check</string>
<key>Program</key>
<string>/Users/spark/tmp/bash-check</string>
<key>StandardOutPath</key>
<string>/Users/laktak/bash-check.log</string>
</dict>
</plist>
Dengan script berikut bash-check:
#!/usr/local/bin/bash
type bash
bash --version
Saya tidak bisa mendapatkannya untuk menggunakan Bash 5 ( /usr/local/bin/bash), log dari launchctl start bash-checkselalu:
bash is /bin/bash
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin19)
Copyright (C) 2007 Free Software Foundation, Inc.
Jawaban
nohillside Sep 21 2020 at 16:04
Skrip Anda menggunakan typeuntuk menemukan contoh pertama di bashdalam PATHdan kemudian memanggil dengan tepat contoh itu. Jadi jika /binsebelumnya /usr/local/bin(atau, lebih mungkin, /usr/local/bintidak ada PATH), versi macOS bashditemukan dan dijalankan.
Untuk memeriksa versi penggunaan shell yang sedang berjalan
echo $BASH_VERSION
sebagai gantinya.
Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'