Bu çok basit csh betik var.Olay bulunamadı csh
#!/bin/csh
echo "Hello World!"
echo "How are you today?"
Ama hata ": Event not found.
Yanlış olan ne alıyorum?
Bu çok basit csh betik var.Olay bulunamadı csh
#!/bin/csh
echo "Hello World!"
echo "How are you today?"
Ama hata ": Event not found.
Yanlış olan ne alıyorum?
csh, geçmişin yerine kullanılması için !
karakterini kullanır. Yani !"
dizisinde, "
dizgenin kapanış tırnak işareti olarak ele alınmaz; bunun yerine, komut satırında ile başlayan komut satırında bir şey arar, komut satırında !foo
yazarak foo
ile başlayan en son komutu tekrarlar.
En azından orijinal csh için, bu yer değiştirme her zaman tek tırnaklı dizelerde bile yapılır (böylece çift tırnakların tek tırnaklara değiştirilmesi zorunlu olarak yardımcı olmaz). .
#!/bin/csh -f
echo "Hello World\!"
echo "How are you today?"
(bazı sistemleri, ben tek tırnak yerine çift tırnak kullanarak hatayı önlemek fark ettiklerinden ben bu olduğunu düşünüyorum:
bir !
karakteri kaçmak için tek yol bir \
ters eğik çizgi ile olan bu sistemler /bin/csh
biraz farklı çalışır /bin/tcsh
bir sembolik, çünkü yapmak, komut taşınabilir olmasını istiyorsanız. Bunu bağımlı olmamalıdır.) Ben deekledik
not #!
hattınaseçeneği. Bu, kabuğun başlangıçta $HOME/.cshrc
'u çalıştırmasını engeller ve genellikle csh komut dosyaları için iyi bir fikirdir. Onları biraz daha hızlı çalıştırır ve kazara bağımlılığı kendi .cshrc
'a engeller, bu da başkaları komut dosyanızı çalıştırdığında bir sorun olabilir.
Ve csh komut dosyası hakkında herhangi Söz konusu
, yasal olarak [*] Bu bağlantı sonrası mecburum:http://www.perl.com/doc/FMTEYEWTK/versus/csh.whynot
[*] Aslında yasal olarak bu bağlantı sonrası zorunda değilim.
TL; DR: "Sorun nedir?" "Csh." Hem soruya hem de cevaplamaya +1. – stevesliva
1. satırı '#!/Bin/csh -f' olarak değiştirin ve tekrar deneyin. Bu .cshrc veya '.tcshrc 'ile ilişkili olabilir. – timrau
denedi. Çalışmıyor – Programmer