Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
ShellScript -> Variable nur mit positivem Wert

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ottto



Anmeldungsdatum: 09.09.2004
Beiträge: 176

BeitragVerfasst am: 13. Dez 2013 7:22   Titel: ShellScript -> Variable nur mit positivem Wert

Hallo zusammen,
ich möchte eine Variable mit dem Ergebnis einer Subtraktion füllen, aber so, dass dort nie eine negative Zahl drin steht. Kann man eine Variable entsprechend vorbelegen?
Hintergrund:
Ich bastele gerade an einem Script, welches alle Dateien aus einem Verzeichnis löscht, außer die 8 "jüngsten". Funktioniert auch solange min. 8 Dateien im Verzeichnis sind.
Sobald dort weniger drin sind macht mir das "tail -n$LoeAnz" Sorgen. tail zeigt auch Einträge an, wenn in der $LoeAnz ein negativer Wert drin steht. Wie kann ich der Variablen beibringen, dass ihr Wert nie kleiner als 0 sein darf?
Hat Jemand eine Idee? Sorry, falls ich auf dem Holzweg bin. Bin noch Anfänger mit der Shellprogrammierung.
Danke.
ottto

Code:

DatAnz=`find -type f| wc -l`
echo $DatAnz
LoeAnz=$(($DatAnz-8))
echo $LoeAnz
DatNam=`ls -tr| tail -n$LoeAnz`
if [ -n "${DatNam}" ] ; then
echo "${DatNam}"
#rm ${DatNam}
fi
 
Benutzer-Profile anzeigen Private Nachricht senden

hjb
Pro-Linux


Anmeldungsdatum: 15.08.1999
Beiträge: 3236
Wohnort: Bruchsal

BeitragVerfasst am: 13. Dez 2013 11:08   Titel:

Hi!

Vielleicht so:

Code:
if [ $LoeAnz -lt 0 ]; then
    LoeAnz=0
fi


Grüße,
hjb
_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger

ottto



Anmeldungsdatum: 09.09.2004
Beiträge: 176

BeitragVerfasst am: 13. Dez 2013 15:40   Titel:

Passt!
Danke.
Gruß.
ottto
 
Benutzer-Profile anzeigen Private Nachricht senden

fx996
Gast





BeitragVerfasst am: 19. März 2015 23:52   Titel:

Alle Dateien ausser den 8 jüngsten löschen:

ls -t | tail -n +9 | xargs rm -f
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy