[d / dg / ad / pr / ph] - [au / b / bg / bo / c / di / ew / f / fa / fi / fl / hr / ja / me / mo / mu / n / ne / o / p / pa / r / re / s / sp / t / td / tr / tv / vg / w / wh / wm / wp] - [a / aa / fd / k / m / ma] - [fg / g / gg / h / ho / ls / u / y] - [Главная]

[Назад]
Ответ
(оставьте это поле пустым)
Имя (оставьте это поле пустым)
E-mail
Тема
Комментарий
Файл
Перейти к
Подтверждение обновить captcha
Пароль (чтобы удалить пост или файл)
  • Разрешённые типы файлов: GIF, JPG, PNG
  • Максимальный размер файла 1536 килобайт и 2048×2048.
  • Изображения размером более 200x200 точек будут уменьшены.

Файл: 1250608229203.png -(26кб, 591x280) Показана уменьшенная копия, оригинал по клику.
26 №21302  

Добрый вечер, /s/! На ваш суд представляю свой первый хоть сколько-то полезный шеллскрипт. Итак, вот оно:

$ cat hiddenfilescheck

#!/bin/sh

echo -n "Working directory ("
WDIR=`pwd`
echo -n $WDIR

DELTA=$((`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;
fi

exit 0
>> №21303  

$ ./hiddenfilescheck

Working directory (/home/anonymous/Software/scripts) has no hidden files nor directories.
>> №21306  

Это такой хитрый "dir /ah"?

>> №21311  

>>21306 ЛОЛШТО

$ dir /ah
dir: cannot access /ah: No such file or directory
>> №21312  

>>21311
Вот никогда не понимал, зачем в POSIX и в GNU/Linux в частности этот dir? Чем оно от ls отличается?

>> №21314  

>>21312 ничем, хардлинки вроде бы

$ which ls dir
alias 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
$
>> №21317  

>>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.BIN
05.07.2009 00:11 323 boot.ini
15.04.2008 16:00 4 952 Bootfont.bin
14.08.2009 22:06 2 145 964 032 hiberfil.sys
18.07.2009 22:00 <DIR> Infovox2.lic
04.12.2008 05:39 0 IO.SYS
04.12.2008 05:39 0 MSDOS.SYS
15.04.2008 16:00 47 564 NTDETECT.COM
15.04.2008 16:00 251 152 ntldr
14.08.2009 22:06 2 145 386 496 pagefile.sys
05.07.2009 00:29 <DIR> RECYCLER
05.07.2009 00:06 <DIR> System Volume Information
22.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
>> №21318  

ls -A | grep '^\.'

>> №21319  

>>21317
фу, что это за говно?

>> №21320  

Кто не понял: скрипт определяет, есть ли у вас в текущей директории скрытые файлы и/или директории. Если их нет, то возвращает true (0). Если они есть, то выводит их количество.

>> №21321  

>>21317
Ты не понел. Скрипт вычисляет количество скрытых файлов. А чтобы узнать их имена, см. >>21318

>> №21322  

#!/bin/sh
exit $(($(ls -a | wc -l | awk '{print $1}') - 1))

>> №21323  

>>21322
Охщи, не так.
#!/bin/sh
exit $(($(ls -a | grep '^\.' | wc -l | awk '{print $1}') - 1))

c:jaw

>> №21324  

ITT нетрадиционная олимпиада __ПРЫЩЕБЛЯДЕЙ_

>> №21331  

>>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.
>> №21333  

А если файл/дир считается скрытым не только потому, что его имя начинается с точки? Вычитание кол-ва строк из ls -l и ls -la с этим справится. А твой поиск по точкам - нет.
Алсо, у тебя ls без -l, а считаешь ты строки. А ls без -l по многу файлов в 1 строке выдаёт.

>> №21335  

>>21333
ls -la отличается от ls -l только тем, что показывает еще и файлы, начинающиеся с точки.
К. О.

>> №21337  
Файл: 1250612546603.png -(68кб, 263x394) Показана уменьшенная копия, оригинал по клику.
68

>>21333

>Алсо, у тебя ls без -l, а считаешь ты строки. А ls без -l по многу файлов в 1 строке выдаёт.

Пиздуй учить поведение команд, а потом уже пиши скрипты.

>> №21338  

>>21335
То есть отображает без -a скрытые другими способами файлы (например, на NTFS и HFS)?

>> №21339  

>>21338
Да.



Удалить пост []
Пароль
[d / dg / ad / pr / ph] - [au / b / bg / bo / c / di / ew / f / fa / fi / fl / hr / ja / me / mo / mu / n / ne / o / p / pa / r / re / s / sp / t / td / tr / tv / vg / w / wh / wm / wp] - [a / aa / fd / k / m / ma] - [fg / g / gg / h / ho / ls / u / y] - [Главная]