Bash [[command not found

я новый в bash и по какому-то разуму в моем рукописном шрифте я не могу реализовывать сравнение между 2 цепями. Я оставляю мой код:

#!bin/bash

A="word"

if [[ $A == "word" ]] ; then
    echo "yes"
    exit 0
fi

Я получаю следующий вывод:

[[ word: command not found

Я попробовал различные способы. Я это выполняю в терминале с:

bash script
0
задан 02.07.2019, 21:11
1 ответ

Выполнив твой "рукописный шрифт", произведи ошибку:

`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`

Так, ты увидишь место, где происходит ошибка.

Ну, надеялся, что это помогает тебе.

1
ответ дан 02.12.2019, 00:01