Баш, если еще заявление - PullRequest
       5

Баш, если еще заявление

1 голос
/ 17 февраля 2012

Это так просто, но я не могу заставить его работать.Я хочу сделать простой оператор if в скрипте ssh bash.Вот мой код ниже:

#!/bin/sh

echo -n "enter what type of logs. (ie. cpanel, apache) "
read type
if [$type == cpanel]
then
LOGTYPES ="error, access"
else
LOGTYPES ="error, access, suphp, suexec"
fi

echo -n "enter which log to tail (ie. $LOGTYPES) "
read logs
echo -n "enter last number of lines to view. (ie. 10, 5000 etc) "
read lines

tail -$lines /usr/local/$type\/logs/$logs\_log

Я пробовал все, и я получаю эту ошибку:

[~]# /apachetail
enter what type of logs. (ie. cpanel, apache) cpanel
/apachetail: line 5: [cpanel: command not found
/apachetail: line 9: LOGTYPES: command not found
enter which log to tail (ie. )

Я пробовал следующие методы, ни один не работает:

    if [$type -eq cpanel]
    if [$type -eq cpanel];
    if [$type == cpanel];
    if [$type = cpanel]
    if [$type = cpanel];
    if ["$type" = cpanel]
    if ["$type" = cpanel];
    if ["$type" == cpanel]
    if ["$type" == cpanel];
    if ["$type" -eq cpanel];
    if ["$type" -eq cpanel]

Ответы [ 2 ]

9 голосов
/ 17 февраля 2012

Изменить

if [$type == cpanel]

на

if [ "$type" = "cpanel" ]

и

   LOGTYPES ="error, access"

на

   LOGTYPES="error, access"

Любое назначение должно быть без пробеловвокруг = (оператор присваивания).

3 голосов
/ 17 февраля 2012

LOGTYPES = должно быть LOGTYPES= - обратите внимание на пропущенный пробел. И [$type == cpanel] должно быть [ $type == cpanel ] - обратите внимание на добавленный пробел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...