Я боролся с этой проблемой часами и пробовал все, что мог найти на досках объявлений. Я не могу переключиться на bash
, это должно быть в bin/sh
.Shell Scripting Неожиданный оператор
Проблема с циклом while, while [ $currentID -gt 0 ]
. Ошибка " 21: [: 2893: unexpected operator
#!/bin/sh
Menu_Option=0
echo "WELCOME"
echo "--------------------------------------------------------------"
while [ $Menu_Option -ne 4 ]
do
echo "select a menu option"
echo "1- ancestry history"
echo "2- who is online"
echo "3- what process any user is running"
echo "4- exit"
read Menu_Option
case $Menu_Option in
1)
echo "THE ANCESTRY TREE FOR CURRENT PROCESS IS...."
echo " "
ps -ef > file1
currentID=$(awk '{if ($3 == '$PPID') print $2}' file1)
while [ $currentID -gt 0 ]
do
Process_Name=$(awk '{if ($2 == $currentID) print $8 " " $9}' file1)
Вы проверили, что 'currentID' установлен в? Добавляя что-то вроде 'echo $ currentID' после того, как вы установите его, чтобы увидеть, что вы получаете от' awk'. –
Возвращает несколько значений. Как я могу это исправить? –
Трудно сказать, не зная о своих намерениях и о том, какие ценности возвращаются? –