Διαφορετικό LC_TIME στο login shell και στο cronjob

George Notaras gnot at g-loaded.eu
Wed Dec 20 18:08:07 EET 2006


Εάν ως root τρέξω:

# locale | grep LC_TIME

η τιμή του LC_TIME είναι: LC_TIME="en_US.UTF-8"

Αν βάλω την παραπάνω εντολή σε ένα cronjob, πχ

*/1 * * * *     root    locale | grep LC_TIME

Παίρνω: LC_TIME="POSIX"

Αυτό που θα ήθελα να ξέρω είναι το string, το οποίο είναι το φορματ της
ημερομηνίας (για τη συνάρτηση strftime) οπουδήποτε κι αν εκτελείται
κάποια εντολή (απευθείας στην κονσόλα ή μέσω cron).

Δοκίμασα με την python:

1) Στην κονσόλα:

# python -c "import locale; print locale.nl_langinfo(locale.D_FMT)"

δίνει: %m/%d/%y

2) Σε cronjob:

*/1 * * * *     root    python -c "import locale; print
locale.nl_langinfo(locale.D_FMT)"

πάλι δίνει %m/%d/%y

Το βέβαιο είναι ότι το φορματ αυτό είναι διαφορετικό στο login shell του
root από ό,τι στο cronjob. Τουλάχιστον αυτό διαπίστωσα με κάποιο άλλο
πρόγραμμα, το οποίο μου είπαν ότι λειτουργεί σωστά. Η διαφορά τους
πρέπει να είναι στο αν το έτος γράφεται με 2 ψηφία ή με 4.

Ευχαριστώ προκαταβολικά για οποιαδήποτε βοήθεια.





More information about the Linux-greek-users mailing list