> А как вы в пустую переменную редиректом собрались выхлоп загонять?
> При таком написании скрипта с cat-ами и ">>" $a и $b должны
> быть предварительно определены как имена файлов
> для начала на пальцах объясните что вы пытаетесь сделать,
> а то в скрипте я вижу бред школьника неосилившего маны
> матчасть:
> http://www.tldp.org/LDP/abs/html/io-redirection.html
> http://stackoverflow.com/questions/2559076/how-do-i-redirect... Если исправить вот так:
#!/bin/bash
a=$(find "`pwd`" -maxdepth 1 -type f -mtime -1 | xargs ls -at1)
b=$(grep "'[!.]*'" "$a")
cat $b
exit 0
"для начала на пальцах объясните что вы пытаетесь сделать"
Я пытаюсь получить список полных имен файлов текущей директории, модифицированных в течении суток.
fing "`pwd`" ищу полные имена файлов
-maxdepth 1 погружаюсь на одну директорию
-type f ищу только файлы (без директорий)
-mtime -1 время модификации текущие сутки
| xargs ls -at1 выходные данные команды find подаются на вход ls, которая создает упорядоченный по времени модификации список всех файлов в один столбец
Смысл в том, что если ввести в командной строке
find . `pwd` -maxdepth 1 -type f -mtime -1 | xargs ls -at1
то на выходе будет список, содержащий и полные имена файлов, и имена, начинающиеся с текущей директории. Примерно так:
./file1
./file2
/dir1/dir2/file1
/dir1/dir2/file2
А мне нужны только полные имена
grep "'[!.]*'" "$a" командой grep исключаю из списка, имена файлов, начинающиеся с точки
cat $b вывожу значение переменной b, в которой, по идее, должен лежать упорядоченный список полных имен файлов.