Добрый вечер, /s/! На ваш суд представляю свой первый хоть сколько-то полезный шеллскрипт. Итак, вот оно:$ cat hiddenfilescheck #!/bin/shecho -n "Working directory ("WDIR=`pwd`echo -n $WDIRDELTA=$((`ls -la 2>/dev/null | wc -l` - `ls -l 2>/dev/null | wc -l`))# echo -n ' **' $DELTA '**'if [ $DELTA -eq 2 ] then echo ") has no hidden files nor directories."; exit 0;elif [ $DELTA -gt 2 ] then echo ") has " $(($DELTA - 2)) "hidden files and/or directories."; exit 1;elif [ $DELTA -lt 2 ] then echo ") is probably corrupt."; exit 2;fiexit 0
Добрый вечер, /s/! На ваш суд представляю свой первый хоть сколько-то полезный шеллскрипт. Итак, вот оно:
$ cat hiddenfilescheck
#!/bin/shecho -n "Working directory ("WDIR=`pwd`echo -n $WDIRDELTA=$((`ls -la 2>/dev/null | wc -l` - `ls -l 2>/dev/null | wc -l`))# echo -n ' **' $DELTA '**'if [ $DELTA -eq 2 ] then echo ") has no hidden files nor directories."; exit 0;elif [ $DELTA -gt 2 ] then echo ") has " $(($DELTA - 2)) "hidden files and/or directories."; exit 1;elif [ $DELTA -lt 2 ] then echo ") is probably corrupt."; exit 2;fiexit 0
$ ./hiddenfilescheck Working directory (/home/anonymous/Software/scripts) has no hidden files nor directories.
$ ./hiddenfilescheck
Working directory (/home/anonymous/Software/scripts) has no hidden files nor directories.
Это такой хитрый "dir /ah"?
>>21306 ЛОЛШТО$ dir /ahdir: cannot access /ah: No such file or directory
>>21306 ЛОЛШТО
$ dir /ahdir: cannot access /ah: No such file or directory
>>21311Вот никогда не понимал, зачем в POSIX и в GNU/Linux в частности этот dir? Чем оно от ls отличается?
>>21312 ничем, хардлинки вроде бы$ which ls diralias ls='ls --color=auto' /bin/ls/usr/bin/dir$ ls -l /bin/ls /usr/bin/dir-rwxr-xr-x. 1 root root 130908 2009-08-05 11:04 /bin/ls-rwxr-xr-x. 1 root root 130908 2009-08-05 11:04 /usr/bin/dir$
>>21312 ничем, хардлинки вроде бы
$ which ls diralias ls='ls --color=auto' /bin/ls/usr/bin/dir$ ls -l /bin/ls /usr/bin/dir-rwxr-xr-x. 1 root root 130908 2009-08-05 11:04 /bin/ls-rwxr-xr-x. 1 root root 130908 2009-08-05 11:04 /usr/bin/dir$
>>21311C:\>dir /?Displays a list of files and subdirectories in a directory.DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4] [drive:][path][filename] Specifies drive, directory, and/or files to list. /A Displays files with specified attributes. attributes D Directories R Read-only files H Hidden files A Files ready for archiving S System files - Prefix meaning notC:\>dir /ah Volume in drive C is SYS Volume Serial Number is 3836-B11B Directory of C:\10.05.2009 17:01 <DIR> $RECYCLE.BIN05.07.2009 00:11 323 boot.ini15.04.2008 16:00 4 952 Bootfont.bin14.08.2009 22:06 2 145 964 032 hiberfil.sys18.07.2009 22:00 <DIR> Infovox2.lic04.12.2008 05:39 0 IO.SYS04.12.2008 05:39 0 MSDOS.SYS15.04.2008 16:00 47 564 NTDETECT.COM15.04.2008 16:00 251 152 ntldr14.08.2009 22:06 2 145 386 496 pagefile.sys05.07.2009 00:29 <DIR> RECYCLER05.07.2009 00:06 <DIR> System Volume Information22.07.2009 23:50 5 632 Thumbs.db 9 File(s) 4 291 660 151 bytes 4 Dir(s) 10 466 910 208 bytes free
>>21311
C:\>dir /?Displays a list of files and subdirectories in a directory.
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename] Specifies drive, directory, and/or files to list.
/A Displays files with specified attributes. attributes D Directories R Read-only files H Hidden files A Files ready for archiving S System files - Prefix meaning not
C:\>dir /ah Volume in drive C is SYS Volume Serial Number is 3836-B11B
Directory of C:\
10.05.2009 17:01 <DIR> $RECYCLE.BIN05.07.2009 00:11 323 boot.ini15.04.2008 16:00 4 952 Bootfont.bin14.08.2009 22:06 2 145 964 032 hiberfil.sys18.07.2009 22:00 <DIR> Infovox2.lic04.12.2008 05:39 0 IO.SYS04.12.2008 05:39 0 MSDOS.SYS15.04.2008 16:00 47 564 NTDETECT.COM15.04.2008 16:00 251 152 ntldr14.08.2009 22:06 2 145 386 496 pagefile.sys05.07.2009 00:29 <DIR> RECYCLER05.07.2009 00:06 <DIR> System Volume Information22.07.2009 23:50 5 632 Thumbs.db 9 File(s) 4 291 660 151 bytes 4 Dir(s) 10 466 910 208 bytes free
ls -A | grep '^\.'
>>21317фу, что это за говно?
Кто не понял: скрипт определяет, есть ли у вас в текущей директории скрытые файлы и/или директории. Если их нет, то возвращает true (0). Если они есть, то выводит их количество.
>>21317Ты не понел. Скрипт вычисляет количество скрытых файлов. А чтобы узнать их имена, см. >>21318
#!/bin/shexit $(($(ls -a | wc -l | awk '{print $1}') - 1))
#!/bin/sh
exit $(($(ls -a | wc -l | awk '{print $1}') - 1))
>>21322Охщи, не так.#!/bin/shexit $(($(ls -a | grep '^\.' | wc -l | awk '{print $1}') - 1))c:jaw
>>21322Охщи, не так.#!/bin/shexit $(($(ls -a | grep '^\.' | wc -l | awk '{print $1}') - 1))
exit $(($(ls -a | grep '^\.' | wc -l | awk '{print $1}') - 1))
c:jaw
ITT нетрадиционная олимпиада __ПРЫЩЕБЛЯДЕЙ_
>>21323Что-то у тебя не то.$ echo $(($(ls -a | grep '^\.' | wc -l | awk '{print $1}') - 1))53$ Software/scripts/checkhidden Working directory (/home/anonymous) has 52 hidden files and/or directories.
>>21323Что-то у тебя не то.
$ echo $(($(ls -a | grep '^\.' | wc -l | awk '{print $1}') - 1))53$ Software/scripts/checkhidden Working directory (/home/anonymous) has 52 hidden files and/or directories.
А если файл/дир считается скрытым не только потому, что его имя начинается с точки? Вычитание кол-ва строк из ls -l и ls -la с этим справится. А твой поиск по точкам - нет.Алсо, у тебя ls без -l, а считаешь ты строки. А ls без -l по многу файлов в 1 строке выдаёт.
>>21333ls -la отличается от ls -l только тем, что показывает еще и файлы, начинающиеся с точки.К. О.
>>21333>Алсо, у тебя ls без -l, а считаешь ты строки. А ls без -l по многу файлов в 1 строке выдаёт.Пиздуй учить поведение команд, а потом уже пиши скрипты.
>>21333
>Алсо, у тебя ls без -l, а считаешь ты строки. А ls без -l по многу файлов в 1 строке выдаёт.
Пиздуй учить поведение команд, а потом уже пиши скрипты.
>>21335То есть отображает без -a скрытые другими способами файлы (например, на NTFS и HFS)?
>>21338Да.
- wakaba 3.0.8 + futaba + futallaby -