Portál AbcLinuxu, 12. května 2025 11:12
#!/bin/sh echo "zadej cestu" read a echo "zadej cas" read b echo "$b" echo "zadej cestu archivace:" read q find $a -cmin -$b|tar -cvf bu.tar $q test -e|tar -tf bu.tar&& echo "files found"|| echo "files not found"Komentár:
find
je zoznam mien súborov, ktoré spĺňajú kritériá definované parametrami toho find. Pre lepšiu prenositeľnosť odporúčam použiť ešte parameter -print
, resp. -print0
tar
zo štandardného vstupu neberie zoznam súborov. Vlastne ak dostane -c
(teda "create") tak, zo štandardného vstupu neberie vôbec nič.test -e
testuje existenciu súboru, ktorý je uvedený ako ďalší parameter za tým -e. Ty tam žiaden súbor nemáš. Miesto toho tam máš | čo znamená, že štandardný výstup, z toho test
(ktorý žiaden výstup nemá) | chceš poslať ako vstup do tar. tar cvf bu.tar `find $a -cmin $b -print`
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.