[BASH] jak wstawić do zmiennej wynik polecenia 'date'

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
nrw
Piegowaty Guziec
Piegowaty Guziec
Posty: 2
Rejestracja: 07 maja 2013, 20:49

[BASH] jak wstawić do zmiennej wynik polecenia 'date'

Post autor: nrw »

Hej,
niedawno zacząłem zabawę z bashem i na początek chciałem stworzyć skrypt, który zarchiwizuje pliki znajdujące się w folderze temp, a nazwą archiwum będzie aktualna data. I właśnie z tą datą w nazwie mam problem - przy uruchomieniu skryptu wysypuje się błąd:

Kod: Zaznacz cały

tar: +%y-%m-%d.tar: Nie można stat: Nie ma takiego pliku ani katalogu
tar: Zakończenie w stanie błędu z powodu uprzednich błędów
Skrypt poniżej:

Kod: Zaznacz cały

#!/bin/bash
#skrypt ma wrzucic do archiwum pliki znajdujące się w folderze temp
#nazwą archiwum ma być aktualna data
filename='date +%y-%m-%d'
tar -cf ${filename}.tar temp/
#kompresja do .gz
gzip ${filename}.tar
Jakieś pomysły w czym może być problem? Widziałem wiele podobnych skryptów w necie i one ludziom działały a ten mój nie chce:)
Ostatnio zmieniony 07 maja 2013, 22:37 przez nrw, łącznie zmieniany 1 raz.
norvoles
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1113
Rejestracja: 04 sty 2008, 20:58
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: [BASH] Problem z poleceniem 'date'

Post autor: norvoles »

Kod: Zaznacz cały

filename=$(date +%y-%m-%d)
Przy okazji, tar potrafi kompresować. Poszukaj w manualu tara opcji -j oraz -J.
nrw
Piegowaty Guziec
Piegowaty Guziec
Posty: 2
Rejestracja: 07 maja 2013, 20:49

Re: [BASH] Problem z poleceniem 'date'

Post autor: nrw »

Pomogło :) Dzięki!
Awatar użytkownika
tristan
Wytworny Kaczor
Wytworny Kaczor
Posty: 333
Rejestracja: 04 maja 2005, 21:46
Wersja Ubuntu: 22.10
Środowisko graficzne: GNOME
Architektura: x86_64

Re: [BASH] Problem z poleceniem 'date'

Post autor: tristan »

nrw pisze:Pomogło :) Dzięki!

mogłeś też zastosować krzywe ukośniki `proces potomny` do odpalenia date z wnętrza skryptu.
Ubek308
Zakręcona Traszka
Zakręcona Traszka
Posty: 574
Rejestracja: 25 maja 2011, 10:17
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86_64

Re: [BASH] jak wstawić do zmiennej wynik polecenia 'date'

Post autor: Ubek308 »

Mnie uczyli zeby tak nie robic. (Choc robię).
Lepiej wrzucic 'date +%y-%m-%d' do zmiennej srodowiska.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 12 gości