LINUX.ORG.RU

cat log выводит то, что находится внутри файла с именем log. Переменные error и noerror никак с содержимым файла не связаны.

seiken ★★★★★ ()

Допиши четвертой строкой echo any или echo some.

anonymous ()
Ответ на: комментарий от seiken

Я это понимаю, но всё же продемонстрируйте свою версию решения задачи. Содержание файла это пример, вывод может идти из другой программы.

WildUser ()
Ответ на: комментарий от WildUser

Содержание файла это пример, вывод может идти из другой программы.

какое это отношение имеет к:

как сделать что бы echo $var выводило some или any?

Очень просто сделать!

var=some 
echo $var 

Как говорится, какой вопрос - такой и ответ. Но тебе повезло, что тему увидел профессиональный телепат.

seiken ★★★★★ ()
Ответ на: комментарий от seiken

я корректно сформулировал вопрос. другое дело на сколько корректно вы интерпретировали его.

Задача что бы echo $var выводило some или any, но cat log умеет выводить только error или noerror. Я же написал пример кода который я вижу. Что здесь непонятного? Если я новичёк значит обязан быть униженным?

WildUser ()
Ответ на: комментарий от WildUser

Если ты туп и ленив настолько, что даже вопрос нормально не можешь поставить, то хотя бы не корчи оскорбленного.

anonymous ()
Ответ на: комментарий от anonymous

в таком виде более читабельно и мне больше нравится, только вот не работает :))

~$cat log.txt
error
~$cat te
declare -A errmap
errmap[error]=some
errmap[noerror]=any
echo ${errmap[$(cat log.txt)]}
~$sh te
te: 1: te: declare: not found
te: 2: te: errmap[error]=some: not found
te: 3: te: errmap[noerror]=any: not found
te: 4: te: Bad substitution
~$

WildUser ()
Ответ на: комментарий от WildUser

Нужен bash, POSIX sh не поддерживает ассоциативные массивы. Не то чтобы их нельзя было на нём реализовать, но смысла в данном случае нет.

anonymous ()
bash$ error=some
bash$ var=error

bash$ echo $var
error

bash$ echo ${!var}
some

Нужен bash.

spirit ★★★★★ ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей