Lubuntu 16.04 - Sesja Openbox
Mogę użyć terminala, aby otworzyć plik ze znacznikiem czasu gedit
:
gedit ~/$(date +%Y%m%d%H%M%S).txt
Polecenia można także użyć za pomocą skrótu klawiaturowego w Openbox.
<keybind key="W-4"> # gedit time-stamped file
<action name="Execute"><command>sh -c 'gedit ~/$(date +%Y%m%d%H%M%S).txt'</command></action>
</keybind>
Ale nie mogę zrobić tego samego za pomocą Exec=
wiersza .desktop
pliku.
Exec=sh -c 'gedit ~/$(date +%Y%m%d%H%M%S).txt'
po prostu tworzy plik o nazwie ~/.txt
Jak mogę uzyskać plik .desktop do robienia tego, co chcę?
$()
takie polecenia podpowłoki . Myślę, że potrzebujesz go do wywołania innego skryptu zawierającego polecenie podpowłoki do otwierania pliku.Exec=/bin/bash -c "echo $(date) > ~/out.txt"
działają dobrze.+%Y%m%d%H%M%S
wydaje się być problemem. wciąż to przeżuję.Odpowiedzi:
Niestety pliki .desktop nie zawsze wywołują
$()
polecenia podpowłoki w taki sposób, jak byśmy tego chcieli. Znalazłem jeden ze sposobów, aby to zrobić, tworząc inny skrypt, który zawiera polecenie podpowłoki, aby otworzyć taki plik.Exec
Linia będzie wyglądać następująco:wtedy plik skryptu zawierałby polecenie otwarcia nowego pliku:
skrypt musiałby również być wykonywalny:
Mam nadzieję że to pomoże!
źródło
cron
którym się widzi, gdzie%
trzeba ukryć pewne znaki ( ?)?sources.list
pliku apt, którego nie można zastąpić nazwą wydania,$(lsb_release -sc)
ponieważ to też nie działa. Jeśli to wymyślisz, chciałbym zobaczyć, jak to zrobiłeś. :)+\%Y\%m\%d\%H\%M\%S
to powinno działać.Problem
Skrypt nie jest konieczny.
Problemem nie jest to, że
.desktop
plik nie może uruchamiać poleceń z podpowłokami, ponieważdziała idealnie dobrze w
.desktop
pliku.Bawiąc się poleceniem, doszedłem do wniosku, że
%
przyczyną problemu jest znak -character. Nie mam jednak na to wytłumaczenia i do tej pory nie mogłem znaleźć informacji, jak to rozwiązać lub uciec.Dlatego zacząłem szukać polecenia, aby uzyskać czas bez użycia podejrzanej postaci.
Alternatywnie użyj Ruby dla daty i godziny
To prowadzi mnie do
Ruby
, która tworzy bieżącą datę i godzinę z polecenia:Kiedy trochę edytujemy dane wyjściowe
awk
, usuwając spacje i ograniczniki, mamy tylko to, czego chcemy, oraz działające polecenie w.desktop
pliku, ponieważ nie używamy%
:Uwaga!
Bez wątpienia polecenie może być trochę „oczarowane”, prawdopodobnie zmienię odpowiedź dzisiaj lub jutro.
źródło
.desktop
takich plikach ...