колотите ошибку сценариев оболочки

Я думал, что нет никакого синтаксиса для echo ключевое слово т.е. мы можем использовать " или ' или никакие кавычки.

Я попробовал все три типа в оболочке удара

Я получил ошибку. Почему это происходит?

{#Azar's first shell script
echo "Hi Azar, Welcome to the new world of technology for you"
echo 'default script bash'
echo keep going don't stop always}

ошибка:

 sh afs.sh
 Hi Azar, Welcome to the new world of technology for you
 default script bash
 afs.sh: 6: afs.sh: Syntax error: Unterminated quoted string
2
задан 26 February 2017 в 07:41

3 ответа

Ваш сценарий перестал работать, когда Вы пробуете к

echo keep going don't stop always

, причина сказана по синтаксической ошибке

Unterminated quoted string

, поскольку Вы используете ' в don't, оболочка Bash продолжает искать другой ', который закрывает Ваше предложение. Поскольку это никогда не находится, синтаксическая ошибка печатается.

В этом случае, необходимо использовать двойные кавычки (" ") как это

echo "keep going don't stop always"

рекомендуется использовать кавычки при распечатывании чего-то в целом. В двойных кавычках можно использовать ' и в единственных " в случае необходимости.

10
ответ дан 2 December 2019 в 01:25

В дополнение к ответ предоставленный jiipeezz этому вопросу, можно также использовать обратную косую черту для выхода из отдельных символов.

echo keep going don\'t stop always

для получения дополнительной информации читает это .

7
ответ дан 2 December 2019 в 01:25

Ваш сценарий выглядит ошибочным. Я попробовал то же, но получил команду, не найденную ошибкой.

line 3:  

Этот сценарий работал без любых ошибок как ожидалось. Выйдите из кавычки, которую Вы использовали в, "не делают"---"Дон \'t". Таким образом, Вы не должны помещать двойные кавычки вокруг оператора эха. Но это - хорошая практика для помещения их в двойные кавычки.

#Azar's first shell script
echo "Hi Azar, Welcome to the new world of technology for you"
echo 'default script bash' 
echo keep going don\'t stop always

Вывод этого сценария.

user@system:~/samplecode$ bash samplescript.sh
Hi Azar, Welcome to the new world of technology for you
default script bash
keep going don't stop always

Счастливые сценарии.

{#Azars first shell script\necho "Hi Azar, Welcome to the new world of technology for you"\necho default': command not found

Этот сценарий работал без любых ошибок как ожидалось. Выйдите из кавычки, которую Вы использовали в, "не делают"---"Дон \'t". Таким образом, Вы не должны помещать двойные кавычки вокруг оператора эха. Но это - хорошая практика для помещения их в двойные кавычки.

#Azar's first shell script
echo "Hi Azar, Welcome to the new world of technology for you"
echo 'default script bash' 
echo keep going don\'t stop always

Вывод этого сценария.

user@system:~/samplecode$ bash samplescript.sh
Hi Azar, Welcome to the new world of technology for you
default script bash
keep going don't stop always

Счастливые сценарии.

0
ответ дан 2 December 2019 в 01:25

Другие вопросы по тегам:

Похожие вопросы: