то, что я пытаюсь сделать, - это простой практический код с таким выводом:
user1 logged in at hh:mm
user2 logged in at hh:mm
...
, поэтому я написал basi c для l oop, но то, что я не делаю понять, почему он запускается только один раз.
for user in $(who)
do
USERID=$(echo $user | tr -s ' ' | cut -d' ' -f1)
LOGTIME=$(echo $user | tr -s ' '| cut -d' ' -f4)
echo "$USERID logged in at $LOGTIME"
done
это перекликается со следующим:
user1
user2
user3 logged in at hh:mm
hh:mm
hh:mm
Я поместил эхо-строки между ними, чтобы выяснить, что происходит и как это исправить , но единственное, что я понял, это то, что for l oop запускается только один раз, поэтому USERID и LOGTIME - это просто длинная строка с разрывами строк. Что я делаю не так? (я сделал IFS = $ '\ n')