GNU/Linux >> Linux Esercitazione >  >> Linux

Ottieni il fuso orario corrente come "Regione/Città".

In questo commento di Stéphane Chazelas, ha detto:

timedatectl è un systemd cosa che interroga timedated oltre dbus e timedated deriva il nome del fuso orario (come Europe/London ) eseguendo un readlink() il /etc/localtime . Se /etc/localtime non è un collegamento simbolico, quel nome non può essere derivato poiché quei file di definizione del fuso orario non contengono tali informazioni.

Sulla base di questo e del commento di tonioc, ho messo insieme quanto segue:

#!/bin/bash
set -euo pipefail

if filename=$(readlink /etc/localtime); then
    # /etc/localtime is a symlink as expected
    timezone=${filename#*zoneinfo/}
    if [[ $timezone = "$filename" || ! $timezone =~ ^[^/]+/[^/]+$ ]]; then
        # not pointing to expected location or not Region/City
        >&2 echo "$filename points to an unexpected location"
        exit 1
    fi
    echo "$timezone"
else  # compare files by contents
    # https://stackoverflow.com/questions/12521114/getting-the-canonical-time-zone-name-in-shell-script#comment88637393_12523283
    find /usr/share/zoneinfo -type f ! -regex ".*/Etc/.*" -exec \
        cmp -s {} /etc/localtime \; -print | sed -e '[email protected]*/zoneinfo/@@' | head -n1
fi

Per il fuso orario, puoi utilizzare la geolocalizzazione:

$ curl https://ipapi.co/timezone
America/Chicago

Oppure:

$ curl http://ip-api.com/line?fields=timezone
America/Chicago

http://wiki.archlinux.org/index.php/time#Time_zone


Linux
  1. Come modificare le impostazioni del fuso orario in Linux?

  2. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  3. Bash =~ Regex e HTTPS://regex101.com/?

  4. La differenza tra ~/.profile, ~/.bashrc, ~/.bash_profile, ~/.gnomerc, /etc/bash_bashrc, /etc/screenrc …?

  5. Come viene aggiornato /etc/motd?

Il modo giusto per modificare i file /etc/passwd e /etc/group in Linux

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

/etc/passwd mostra l'utente in un gruppo, ma /etc/group no

Come posso ripristinare un chmod nella directory etc?

Differenza tra /etc/hosts e /etc/resolv.conf

Come configurare /etc/issues per mostrare l'indirizzo IP per eth0