Saya mengalami masalah menjalankan skrip bash di zsh. Script mirip dengan yang di bawah ini dan seharusnya dijalankan di bawah bash:
#!/bin/bash
echo "<235234>" | egrep -oe [0-9]+
Namun, shell saya secara default aktif zsh, jadi untuk menjalankan skrip di atas apa yang saya lakukan adalah mengetik /bin/bashpada zshprompt saya , dan kemudian saya jalankan . script.sh.
Namun, ini menghasilkan kesalahan, dan saya mendapatkan:
zsh: no matches found: [0-9]+
(Saya harus mendapatkan 235234sebagai gantinya).
Pada titik ini saya bingung dan memiliki pertanyaan-pertanyaan berikut:
- Jika saya masuk
bash, mengapa saya mendapatkan kesalahan yang dilaporkanzsh? - Mengapa
egrepregexp gagal? Ekspresi reguler terlihat benar bagi saya.
Catatan: Jika itu penting, saya tidak seharusnya memodifikasi skrip (skrip dibagikan oleh banyak pengguna dan kami tidak seharusnya melakukan perubahan padanya).
Terima kasih
exec zshdi saya~/.bashrc, atau di saya~/.profile(saya bahkan tidak punya.profiledi direktori rumah saya). Saya tidak ingat bagaimana saya berhasil membuatzshshell default saya. Juga, maaf atas kebingungannya, tetapi baris pertama pada skrip saya adalah shebang#!/bin/bash. Dengan ini, saya masih tidak tahu mengapa sumber filezshtidak berfungsi (jika Anda memiliki pemikiran tentang hal ini, beri tahu saya). Dalam kedua kasus, saya akan menghubungi administrator untuk memperbarui skrip untuk menambahkan tanda kutip ke regexp.