Bir yol sudo
, eğer kabuk komut dosyası geçerli dizindeyse, izinleri olan bir kabuk komut dosyası aracılığıyla çalıştırmak (ve kabuk komut dosyasını başlattığınızda şifreyi vermektir),
sudo ./delayer 4h
burada delayer
içerikli bir shellscript olabilir
#!/bin/bash
sleep "$1"
command
Çalıştırılabilir yap
chmod +x delayer
ve PATH
isterseniz bir dizine kopyalayın veya taşıyın .
Daha esnek bir shellscript istiyorsanız, parametre (ler) i girerek geciktirmek için [line] komutunu seçebileceğiniz, deneyebilirsiniz.
#!/bin/bash
if [ $# -lt 2 ] || [ "$(whoami)" != "root" ]
then
echo "Delay start of command, that needs 'sudo'
Usage: sudo $0 <delay> <command line>
Example: sudo $0 4h parted -ls"
exit
fi
sleep "$1"
shift
"$@"
Demo örneği (kısa gecikme, 5 saniye, demo amaçlı),
$ ./delayer
Delay start of command, that needs 'sudo'
Usage: sudo ./delayer <delay> <command line>
Example: sudo ./delayer 4h parted -ls
$ sudo ./delayer 5s parted /dev/sdc p
[sudo] password for sudodus:
Model: Kanguru SS3 (scsi)
Disk /dev/sdc: 15,9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
2 1049kB 2097kB 1049kB primary bios_grub
3 2097kB 258MB 256MB fat32 primary boot, esp
4 258MB 2274MB 2016MB primary
5 2274MB 12,5GB 10,2GB ext2 primary
1 12,5GB 15,9GB 3394MB ntfs primary msftdata