я новый в bash и по какому-то разуму в моем рукописном шрифте я не могу реализовывать сравнение между 2 цепями. Я оставляю мой код:
#!bin/bash
A="word"
if [[ $A == "word" ]] ; then
echo "yes"
exit 0
fi
Я получаю следующий вывод:
[[ word: command not found
Я попробовал различные способы. Я это выполняю в терминале с:
bash script
Выполнив твой "рукописный шрифт", произведи ошибку:
`bash: ./script.sh: bin/bash: bad interpreter: No such file or directory`
Это благодаря тому, что ты считаешь плохим письменный заголовок "she-bang!":
`#!/bin/bash`
, После упорядочивая заголовок, выполнен без ошибок, все же, нужно делать договоренности. Помни, когда ты будешь определять параметр (переменную):
`A="word"
| |
v v
if [[ "$A" == "word" ]]; then ...`
Всегда помести ему встречи или кавычки,
Также помнит что помещает ему полуободочную кишку или острие и запятую";" в;
`exit 0; <----`
Часто, завись от операционной системы (Ubuntu, Арч, Red Hat, и т.д...), он может давать тебе ошибки, если ты не помещаешь ему semicolo или острие и запятую в конце команды и встреч или кавычек, определив переменные.
Твой код должен читать так:
`#!/bin/bash
A="word"
if [[ "$A" == "word" ]]; then
echo "Yes"
exit 0;
fi`
, Чтобы мочь доставать ошибки (debugging), что происходят в коде, он это пишет:
bash -x script.sh
, Если ты не хочешь, что полный код reprodusca на экране и только ты хочешь знать, где он состоит в том, что происходит ошибка, ты можешь делать:
`A="word"
set -x
if [[ "$A" == "word" ]]; then
echo "Yes"
exit 0;
fi
set +x`
Так, ты увидишь место, где происходит ошибка.
Ну, надеялся, что это помогает тебе.