Порядок перенаправления работает иначе.
Порядок перенаправления определяет только порядок действий оболочки с описанием файла, а не с его содержимым.
В:
./errorandoutput.sh >file 2>&1
Сначала оболочка перенаправляет стандартный вывод на file
, затем перенаправляет стандартную ошибку на стандартный вывод, который теперь указывает на file
, так что и стандартный вывод, и стандартная ошибка теперь переходят к file
.
На этом этапе выполняется оболочка с перенаправлением. К содержимому файла file
это не имеет никакого отношения.
Порядок содержимого в file
определяется порядком выполнения команд внутри скрипта. Измените свой скрипт на:
#!/bin/bash
ls dflj
echo myecho
и вы бы получили то, что хотели.
Предполагая, что все они были установлены как зависимости от lightdm, sudo apt-get autoremove --purge
следует избавиться от них!
Источник:Ubuntu Manpage :apt -get