chcę porównać 2 i 1, więc napisałem:
if (( 2 -ge 1)); then
echo "2 jest wiekszę od 1 bo 2 ma parę"
ale dostaję błąd:
#przegryw #programowanie
if (( 2 -ge 1)); then
echo "2 jest wiekszę od 1 bo 2 ma parę"
ale dostaję błąd:
ge unbound variable
#przegryw #programowanie
1. Jak zrobić logowanie w bashu tak by wszystko wypluwał mi do pliku ORAZ do konsoli?
to mi tylko do konsoli wrzuca wszystko, a do pliku tylko to co #!$%@?ę
2. Jak dodać by wszystko co wyrzuci do konsoli miało dodany datetime
#przegryw #programowanie
polecenie |& tee my.log
polecenie 2>&1 | tee my.log
@Wykopowiedz: jak to odpalasz. Przykładowo u mnie to działa tak:
$ rm /tmp/my.log; echo asd | tee /tmp/my.log && echo "From file:" && cat /tmp/my.log
asd
From file:
asd
@Wykopowiedz: o coś takiego Ci chodzi?
$ cat /etc/os-release | while read LINE; do echo "$(date -u) ${LINE}"; done
Mon 27 Apr 2020 01:35:00 PM UTC NAME=Fedora
Mon 27 Apr 2020 01:35:00 PM UTC VERSION="30 (Thirty)"
Mon 27 Apr 2020 01:35:00 PM UTC ID=fedora
Mon 27 Apr 2020 01:35:00 PM UTC VERSION_ID=30
Mon 27 Apr 2020 01:35:00 PM UTC
$ cat test.sh
check_update()
{
echo start
yum check-update
echo stop
}
check_update |& while read LINE; do echo "$(date -u) $LINE"; done |& tee my.log
U mnie wypluwa taki output:
Mon 27 Apr 2020 01:49:33 PM UTC start
Mon 27 Apr 2020 01:50:18 PM UTC Fedora 30 - x86_64 - Updates 25 kB/s | 16 kB 00:00
Mon 27 Apr 2020 01:50:22 PM UTC Fedora
Do pliku test.sh wrzuć:
check_update()
{
echo start
yum check-update
echo stop
}
check_update |& while read LINE; do echo "$(date -u) $LINE"; done |& tee my.log
i potem chmod +x test.sh && ./test.sh