Você não diz como definir o fuso horário, mas desde que você o definiu para seu próprio usuário, isso deve ser definido com a variável TZ
. Bash (pelo menos a versão 4.1.5) tem algumas peculiaridades quando se trata de levar em conta uma mudança de TZ
: a mudança só é refletida após o shell ter iniciado um comando externo (tem que ser um comando externo, forçando um subshell não é suficiente, nem está executando built-ins).
bash-4.1$ PS1='\t '
12:31:05 export TZ=Asia/Tokyo
12:31:12
12:31:13 echo foo
foo
12:31:14 /bin/echo foo
foo
19:31:17
Portanto, se você definir TZ
no seu .bash_profile
e não iniciar um comando externo, ainda verá a hora no antigo fuso horário no primeiro prompt.
export TZ=GMT
# Refresh bash's idea of $TZ for prompt display purposes.
# As of bash 4.1, this requires running an external command!
if [[ $- = *i* ]]; then command true; fi