case
сравнивает значение одного слова оболочки с любым количеством указанных шаблонов оболочки (если есть) и выполняет связанный список оболочки (если есть) для первого из найденных совпадений или вообще ничего. case
оценивает слово и каждый связанный шаблон вплоть до первого совпадения, такое только один раз. case
возвращает значение для любой исполняемой оболочки list или 0
, если
сравнивает значение return status некоторой требуемой оболочки list на 0, а затем выполняет требуемый , затем
оболочку list , если он соответствует, либо выполняет необязательную оболочку elif
или else
список (если есть) . if
выполняет и оценивает возврат по крайней мере одного списка оболочки для каждого оператора if
в любой цепочке из if
с ассоциированным список , который возвращает 0.
if
возвращает для любого выполненного , затем
или else
списка, либо 0 независимо от требуемого if
shell list возвращает.
pid=
с пробелом после этого задает для переменной pid
пустую строку. Остальная часть этой строки будет просто выполнять конвейер и выводить результат (, возможно, на терминал, если он не перенаправляется ). Поскольку $pid
пусто, kill
позже жалуется.
Для захвата вывода команды используйте $(...)
, например.
pid=$( ps -ef |... )
Однако лучше использовать pkill
для того, что вы пытаетесь сделать:
pkill adminserver
См. руководство pkill
.
Я бы также по возможности избегал использования сигнала KILL
. См., например. " Когда мне не следует убивать -9 процесс? ".