Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: ayhan_98 в Dec 22, 2015, 11:15



Титла: Задача bash скрипт
Публикувано от: ayhan_98 в Dec 22, 2015, 11:15
Условие:
Напишете bash скрипт, който премества всички файлове с права за запис и четене от директория с име, зададено като първи параметър на скрипта в директория с име, зададено като втори параметър на скрипта

Ако някой може да реши задачата, моля да помогне


Титла: Re: Задача bash скрипт
Публикувано от: senser в Dec 22, 2015, 12:23
Така зададено условието не е съвсем коректно според мен - кои права за четене и запис се има впредвид, на собственика на файла, на групата на собственика, или всички останали?

Може да погледнеш как се работи с find: http://man7.org/linux/man-pages/man1/find.1.html ($2)


Титла: Re: Задача bash скрипт
Публикувано от: 4096bits в Dec 22, 2015, 14:00
Една подсказка. Потърси и виж за find.


Титла: Re: Задача bash скрипт
Публикувано от: dmnk в Dec 22, 2015, 14:23
Код:
#!/bin/bash

echo "Enter source folder name: "
read source
echo "Enter destination folder name: "
read destination

find $source -type f -perm 777 -exec mv {} $destination \;


Титла: Re: Задача bash скрипт
Публикувано от: 4096bits в Dec 22, 2015, 15:22
#!/bin/bash

echo "Enter source folder name: "
read source
echo "Enter destination folder name: "
read destination

find $source -type f -perm /666 -exec mv '{}' $destination \;

Но заданието си остава неясно. Файловете трябва да са със права за чете и запис или може например някой файл да е с права само за четене, но без за запис или обратното. Също не става ясно, дали тези права трябва да са за root, групата или всички останали.


Титла: Re: Задача bash скрипт
Публикувано от: dmnk в Dec 22, 2015, 15:55
Но заданието си остава неясно. Файловете трябва да са със права за чете и запис или може например някой файл да е с права само за четене, но без за запис или обратното. Също не става ясно, дали тези права трябва да са за root, групата или всички останали.

Точно за това и 777.
666 се "включва" в 777, т.е. файловете с права 777 имат "права" за четене и запис.

-rw-rw-rw-  1 user  group  0 Dec 22 15:54 1
-rwxrwxrwx  1 user  group 0 Dec 22 15:54 2


Титла: Re: Задача bash скрипт
Публикувано от: ayhan_98 в Dec 22, 2015, 19:47
Това е пълното условието


Титла: Re: Задача bash скрипт
Публикувано от: geroy в Dec 23, 2015, 16:27
Код
GeSHi (Bash):
  1. #!/bin/sh
  2. /usr/bin/pstree

то ти един страхотен скрипт :)