Troquei o shell da minha conta principal para zsh
e, ao instalar um script que registra histórico em um banco de dados, link , eu vi que alguns comandos typeset
neles não funcionavam, e depois de algumas buscas eu os mudei para declare
e então eles funcionaram.
Os arquivos em questão são link e link (em commit 0b89299, 2017-05-01). Os comandos typeset
no segundo estão no início do arquivo.
Qual poderia ser a diferença entre a configuração do autor e a minha que permitiria que o typeset
trabalhasse no deles, mas não no meu?
Meu shell usual é bash
e mudei apenas minha conta de logon normal para zsh
e apliquei a conta chsh -s $SHELL
ao meu, mas não sei se isso afeta todas as outras contas.
ls -l /bin/sh
mapeia para dash
.
PS. Como arquivos como .bashrc
e .zshrc
não contêm #!/bin/bash
ou #!/bin/sh
, o interpretador executa os comandos quando os logons do usuário ou algum comando requer um shell?
# contents of .zshrc
export ZSH=/home/vfclists/.oh-my-zsh
ZSH_THEME="agnoster"
plugins=(git)
source $ZSH/oh-my-zsh.sh
if [ -f ~/.profile ]; then
source ~/.profile
fi
# larkery historydb, https://github.com/larkery/zsh-histdb
# paths must be configured by now
if [ -f ~/bin/sqlite-history.zsh ]; then
source ~/bin/sqlite-history.zsh
fi
source ~/bin/history-timer.zsh
autoload -Uz add-zsh-hook
add-zsh-hook preexec _start_timer
add-zsh-hook precmd _stop_timer
Tags bash zsh shell shell-builtin