Я создал папку, ABC. В этой папке я создал два файла, file1 и file2. Далее в папке я установил права доступа rw для всех. Когда я пытаюсь ls ABC
, он печатает:
/bin/ls: cannot access ABC/file2: Permission denied
/bin/ls: cannot access ABC/file1: Permission denied
file1 file2
Я хочу разбить это сообщение на две части и записать в файлы success.txt и fail.txt. Так что в Bash я попробовал что-то вроде:
ls ABC > success.txt 2> fail.txt
Но в success.txt у меня есть "file1 file2", но fail.txt пуст, так где первые две строки сообщения?
Спасибо Арне и Шеллтеру за проявленный интерес. Поэтому я создаю папку с:
mkdir ABC
Далее:
cd ABC
touch file1 file2
Далее:
cd ..
chmod 666 ABC
И когда я ввожу ls ABC
, я получаю:
/bin/ls: cannot access ABC/file2: Permission denied
/bin/ls: cannot access ABC/file1: Permission denied
file1 file2
Но когда я пишу сценарий sh вроде:
#!/bin/sh
$* > success.txt 2> fail txt
fail.txt пуст. Зачем? Я добавляю, что в другой ситуации все работает, поэтому проблема заключается только в том, что команда печатает информацию как на sterr, так и на stdout.