Esiste un modo per ottenere il nome del fuso orario Canonical da uno script di shell Linux? per esempio, se il mio fuso orario configurato è PDT, allora mi piacerebbe ottenere "America/Los_Angeles".Acquisizione del nome del fuso orario Canonical nello script shell
So che potrei ottenere dal collegamento simbolico/etc/localtime se fosse configurato, ma poichè potrebbe non essere configurato in tutti i server non posso fare affidamento su quello.
D'altra parte, posso ottenere il nome del fuso orario breve con la data del comando +% Z, ma ho ancora bisogno del nome canonico.
C'è un modo per ottenere il nome canonico del fuso orario corrente o trasformare il fuso orario ottenuto con il comando data +% Z, anche se il collegamento simbolico/etc/localtime non è impostato?
direi 'PDT' è più vicino a un nome canonico, mentre 'America/Los_Angeles' è solo un'etichetta descrittiva per la mappatura di una posizione per il fuso orario corretto. – chepner
Non penso sia possibile; una singola abbreviazione, anche se espansa senza ambiguità (ad esempio in "Pacific Daylight Time"), può avere più voci corrispondenti del database TZ. Ad esempio, PDT non è solo "America/Los_Angeles', ma anche" America/Dawson "," America/Ensenada "," America/Sitka "," America/Tijuana "," America/Vancouver "," America/Whitehorse ". e 'US/Pacifico'. (In effetti, se non avessi specificato che volevi "America/Los_Angeles', avrei pensato che volessi" Stati Uniti/Pacifico ".) – ruakh