PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Bash] let Syntax



undefined
26-08-2004, 10:33
Ich bekomme nicht das erwünschte Ergebnis und finde auch nichts näheres zum Syntax denn leider ist die Manual bei let eußerst dürftig.
Ich möchte die Zeit(Tag) einen Zurückschrauben, kennt einer den richtigen Syntax?

SESSIONDIR=${HOME}/.kde/share/config/session
TMP=/tmp/ksc.log
TI=`date +"%Y\-%m\-%d"`
#
DA=`date +"%d"`
GE=`let "$DA - 1"`
echo $GE

if [ -d "$SESSIONDIR" ];then
cd $SESSIONDIR
for i in "`ls -g -G -t -r --time-style=long-iso konqueror_*`"
do
echo "$i" | grep -v "$TI" | sed 's,.*konqueror_,konqueror_,' > $TMP
done
rm -f `cat $TMP`
rm -f $TMP
cd -
fi
exit;

peschmae
26-08-2004, 12:53
Tja, let kenne ich auch nicht wirklich. Zwei andere Möglichkeiten:



date +"%d" -d yesterday
expr $(date +"%d") - 1


MfG Peschmä

undefined
26-08-2004, 14:25
jooh da hätte ich auch drauf kommen können :D
Manchmal ist man einfach auf dem falschen Dampfer und Verbeist sich.
klappt jetzt bestens merci ;)

andreas.prause
15-09-2004, 16:48
Hi,

let tut's auch:
DA=`date +%d`
let GE="$DA - 1"
echo $GE

alternativ mittels $((arithm expr)), ist gleichwertig zu let VAR="arithm expr":
GE=$(($DA - 1))

ansonsten kann date auch selbst rechnen:
date +FORMAT -d "zeitstring", wobei zeitstring auch Formulierungen enthalten darf wie "now -3hours" oder "yesterday +5days"

MfG AP