İki tane (Debian) Linux sunucum var. Bir kabuk betiği oluşturuyorum.
İlkinde bir dizi yaratıyorum.
#!/bin/bash
target_array=(
"/home/user/direct/filename -p123 -r"
)
Bu iyi çalışıyor. Ancak bunu diğer sunucuda çalıştırdığımda şunu alıyorum:
Syntax error: "(" unexpected
Her iki sunucunun da aynı olduğunu söyleyebilirim. Birisi bunun neden işe yaramadığına ışık tutabilir mi?
Doğrudan terminale yazarsam sorun olmaz.
Göründüğü gibi göründüğü gibi
sh scriptname.sh
Hata alıyorum, ancak çalıştırırsam
./scriptname.sh
Tamam gibi görünüyor. Fark ne?
sh
değil bash
gibi çalışan ve bu yüzden sh scriptname.sh
yanlış
cat -v <script>
sahte char olup olmadığını görmek için deneyin .