Wprowadziłem następujące wiersze do skryptu powłoki o nazwie „test.sh”:
#!/bin/bash
echo Hello World
STR=”Hello Again”
echo $STR
Po chmod do pliku wykonywalnego uruchomiłem skrypt ./test.sh
. Jednak dostaję wiadomość
./test.sh: line 3 STR: Command not found
Co ja robię źle?
command-line
scripts
Jay Silver
źródło
źródło
*
,_
,#
) jak obniżki i są różnie renderowane przez oprogramowanie czytnika ekranu. Uważam, że wszystko, co jest podane lub otrzymane przez komputer, powinno znajdować się w blokach kodu. Nigdy nie wiadomo, kiedy dokładny format może być odpowiedni. Zwłaszcza, gdy mamy do czynienia z takimi rzeczami, jak w przypadku Unicode.Odpowiedzi:
Czego używasz do stworzenia tego skryptu? Znaki cudzysłowu, które masz w pytaniu, są nieprawidłowe. Nie są to zwykłe podwójne cudzysłowy (
"
), ale”
. Regularne cytaty to:Podczas gdy twoje są:
Więc po prostu używaj regularnych cytatów i wszystko będzie dobrze:
źródło
uniprops
Wygląda fajnie. Znalazłem stronę (czy to nasz własny tchrist?). Czy muszę go pobrać ze źródła, czy jest dostępny gdzieś w menedżerze pakietów?E: Unable to locate package uniprops
sudo apt-get install cpanminus; sudo cpanm Unicode::Tussle
i wtedy maszuniprops
polecenie. Oczywiście tchrist napisał to cholerstwo, więc równie dobrze możesz go zapytać na czacie :)-
U + 002D na myślnik‐
U + 2010 ( lub podobny ). Wtedy rzeczy takie jakuname ‐a
przestają działać: - /. Klienci poczty e-mail często mają podobne nikczemne nawyki - szczególnie podczas korzystania z formatowania HTML - kolejny dobry powód, aby preferować wiadomości e-mail w postaci zwykłego tekstu.