LINUX.ORG.RU

помогите, пожалуйста, со скриптом


0

2

[code=c cpp] #!/bin/bash [br]echo «1. Написать скрипт, находящий в заданном каталоге и всех его подкаталогах все файлы, владельцем которых является заданный пользователь. Имя владельца и каталог задаются пользователем в качестве первого и второго аргумента командной строки. Скрипт выводит результаты в файл (третий аргумент командной строки) в виде полный путь, имя файла, его размер. На консоль выводится общее число просмотренных файлов. Проверить работу программы для каталога /usr пользователь root.» [br]find $2 -type f -user $1 -printf «%p%s\n» >$3 2>error.txt [br]file_num=0 [br]for file in `find $2 -type f 2>error.txt` [br]do [br]let «file_num+=1» [br]done [br]echo «Количество просмотренных файлов $file_num » [br]cat err.txt/tr -d `find:`

[/code]

#!/bin/sh

find $2 -type f -user $1 -printf "%p %s\n" >$3 2>error.txt
echo -n "Количество просмотренных файлов: "
find $2 -type f 2>error.txt | wc -l
cat error.txt

Никогда не писал шелл скриптов, так что не забудь тщательно проверить.

rival ★★ ()

Почему не хочешь делать лабораторные работы сам?

ky-san ()
Ответ на: комментарий от Ray8888

Спасибо в карман не положишь. С тебя $500. Можешь вернуть в течении 5 лет, как раз к моему совершеннолетию.

rival ★★ ()
Ответ на: комментарий от rival

так как я пишу в ubuntu и мне обязательно надо начинать с #!/bin/bash, то этот вариант не работает ./2.sh: строка 3: $3: неоднозначное перенаправление Количество просмотренных файлов: 0 find: `root': Нет такого файла или каталога

Ray8888 ()
Ответ на: комментарий от Ray8888

> мне обязательно надо начинать с #!/bin/bash
$ /bin/sh --version
GNU bash, version 4.1.9(2)-release (i686-pc-linux-gnu)

В моем случае неважно - в любом случае bash вызывается.

./2.sh: строка 3: $3: неоднозначное перенаправление

$ ./script root /var/www/localhost/htdocs/
./script: line 3: $3: ambiguous redirect
...

Очевидно, ты забыл указать третий аргумент.

rival ★★ ()
Ответ на: комментарий от rival

дело в том, что sh не вызывает все команды, которые есть в bash потому что, то что написано в Debian и правильно работает, то в убунту не факт

Ray8888 ()
Ответ на: комментарий от Ray8888

> дело в том, что sh не вызывает все команды, которые есть в bash потому что, то что написано в Debian и правильно работает, то в убунту не факт

Ты себе убеждаешь или меня?

rival ★★ ()
Ответ на: комментарий от Ray8888

Твоя ошибка не из-за того, что твой шелл не осиливает скрипт, а из-за того, что ты неправильно этот скрипт вызываешь.

rival ★★ ()
Ответ на: комментарий от Ray8888

> ./1.sh /usr root

Ты вообще читал свое задание?

Имя владельца и каталог задаются пользователем в качестве первого и второго аргумента командной строки.

Да, тут, конечно, нет слова «соответственно», но все равно - в твоем оригинальном скрипте первый аргумент это имя владельца.
У тебя же root (имя владельца) стоит вторым аргументом.

Скрипт выводит результаты в файл (третий аргумент командной строки)

А третьего аргумента и вовсе нет.

rival ★★ ()
Ответ на: комментарий от Ray8888

>сча опробую

Офигеть... «попробую»... это ж было в условии задачи! Мне кажется, я угадаю цвет твоих волос с одного раза! :)

Shtucer ()
Ответ на: комментарий от Ray8888

> и тут выше находящиеся обращаются ко мне как парню, так вот я девушка

Пока нет фотокарточек с твоим лицом и надписью на бумажке «Привет, isden!», ты мальчик.

rival ★★ ()
Ответ на: комментарий от Shtucer

опечаталась, простите, ваше высочество, а цвет волос не дано [br] я смотрю, у многих линуксоидов одна и таже шутка, это не подымает вас ни в чьих глазах

Ray8888 ()
Ответ на: комментарий от Ray8888

>а цвет волос не дано

Белый, да?

я смотрю, у многих линуксоидов одна и таже шутка, это не подымает вас ни в чьих глазах


А зачем нам подниматься в чьих-то глазах? В чем профит?

Zhbert ★★★★★ ()
Ответ на: комментарий от Zhbert

> В чем профит?
Если подняться слишком высоко, можно организовать секту из няшек, которые будут тебя боготворить ^^

rival ★★ ()
Ответ на: комментарий от Zhbert

> Но если подняться слишком высоко, то и падать больнее будет.

Они тебя поймают, не волнуйся.

rival ★★ ()
Ответ на: комментарий от Ray8888

Ладно, уговорил(а). //что поделаешь, картинки-то не было

Zhbert ★★★★★ ()
Ответ на: комментарий от Zhbert

не в моих интересах вам об этом рассказывать, вот сча опишу свой портрет, а тут мой препод сидит, и каюк мне, а не сдача лабы..

Ray8888 ()
Ответ на: комментарий от rival

>Фуу, не хотеть.

Ты так говоришь, как будто тебе надо ее хотеть. Или как будто это я тебе стрижку предлагаю сделать.

Zhbert ★★★★★ ()
Ответ на: комментарий от Zhbert

я бы и не писала, если бы нам хотя бы старались объяснять, я книжки открывала, но тут книжки не товарищ, надо мозг в правильно повёрнутую сторону

Ray8888 ()
Ответ на: комментарий от Ray8888

> не в моих интересах вам об этом рассказывать, вот сча опишу свой портрет, а тут мой препод сидит, и каюк мне, а не сдача лабы..

Если он тут сидит, то догадается, наверное, почитать скрипт и сравнить с тем, что здесь дан выше.
Да и вообще, и так очевидно, что ты ничего не знаешь, у тебя все равно не удастся его обмануть. Если захочет сделать тебе «каюк», сделает.

rival ★★ ()
Ответ на: комментарий от Ray8888

>я книжки открывала, но тут книжки не товарищ,

Смотрю в книгу, вижу фигу? Гугль и книжки великая сила, твой вопрос решился бы за пару минут, загугли ты сама.

Zhbert ★★★★★ ()
Ответ на: комментарий от rival

>Ну вот я и говорю, фуууу.

тогда за косички не подергаешь, опять встается вопрос - зачем такая нужна? (ну или че он спросил)

Zhbert ★★★★★ ()
Ответ на: комментарий от Shtucer

>ответ находится еще на стадии придумывания запроса гуглю.

Угу, 90% ответа содержатся в правильно заданном вопросе.

Zhbert ★★★★★ ()
Ответ на: комментарий от Ray8888

>так и они к вам «похохмят» и вас,

Казнить нельзя помиловать. Ты диктанты по русскому тоже на форумах писала?

как вы относитесь к людям, так и они к вам


А теперь внимательно смотри на свой вопрос в первом посте. Как он написан? Как ты относишься к местным людям, заставляя их разбирать эту портянку? Вот так и они к тебе. А первый раз вообще спросила так, как будто тебе тут обязаны.

Zhbert ★★★★★ ()
Ответ на: комментарий от Ray8888

Я «хохмлю», меня «хохмят», по-моему это прекрасно. Видеть везде и всюду «хамят», это упадничество, тем более в таком раннем возрасте.

Shtucer ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.