Предполагая, что расширения параметров в test2.sh
правильно указаны как
find "$1" -type f -mmin +"$2" -exec rm -f {} \;
, тогда test3.sh
может вызывать test2.sh
вот так:
test2.sh "some file name" 5
$1
в test2.sh
заменится на строку some file name
, а $2
заменится на 5
.
Предполагается, что test2.sh
находится в каталоге, который указан в переменной PATH
в test3.sh
. Если нет, используйте полный путь (абсолютный или относительный ), например:
./test2.sh "some file name" 5
Также предполагается, что test2.sh
сначала был сделан исполняемым с помощью chmod +x test2.sh
и что он имеет правильную строку #!
-.
После уточнения в комментарии ниже:
Сценарий test3.sh
может выполнять (, предполагая, что это скрипт bash
):
read -p 'Enter directory name: ' dirname
read -p 'Enter number of days: ' days
minutes=$(( days * 60 * 24 ))
./test2.sh "$dirname" "$minutes"
Следующим шагом будет проверка ввода пользователя, чтобы $days
было действительным целым числом и чтобы $dirname
было допустимым именем каталога.
Если не bash
, аsh
:
printf 'Enter directory name: '
read -r dirname
(etc.)
Большинство реализаций find
также имеют-delete
:
find "$1" -type f -mmin +"$2" -delete
См. соответствующий вопрос. Как работает ping в Fedora без setuid и возможностей?
и Ссылки
https://lwn.net/Articles/422330/
https://fedoraproject.org/wiki/Changes/EnableSysctlPingGroupRange
Из соображений безопасности Fedora больше не использует setuid/возможности пользователя для чтобы разрешить не -root использовать ping. Вместо этого они используют недавнюю функцию ядра который позволяет администратору включить использование ping с помощью gid.
В обычной оболочке:
$ sudo sysctl net.ipv4.ping_group_range
net.ipv4.ping_group_range = 0 2147483647
Но в свежей оболочке внутри сетевого сетевого пространства:
$ sudo sysctl net.ipv4.ping_group_range
net.ipv4.ping_group_range = 1 0
Таким образом, механизм, который позволяет не -пользователям root использовать ping в Fedora, отключен. по умолчанию при создании нового файла netns. Чтобы исправить это, просто установите значение sysctl внутри вашей сети:
$ sudo sysctl net.ipv4.ping_group_range="0 2147483647"
net.ipv4.ping_group_range = 0 2147483647
$ ping 8.8.8.8
64 bytes from 8.8.8.8: icmp_seq=1 ttl=40 time=20 ms