Почему «набор» не работает для меня, а «объявляет»?

Я переключил оболочку на свою основную учетную запись на zsh и при установке скрипта, который регистрирует историю в базе данных, https://github.com/larkery/zsh-histdb , я видел, что некоторые команды typeset команд в них не работают, и после некоторых поисков я изменил их, чтобы declare а затем они сработали.

Эти файлы: https://github.com/larkery/zsh-histdb/blob/master/history-timer.zsh и https://github.com/larkery/zsh-histdb/blob/master/sqlite-history .zsh (при фиксации 0b89299, 2017-05-01). Команды typeset во втором находятся в начале файла.

Какая разница между установкой автора и моей, что позволит typeset наборы, но не на моем?

Моя обычная оболочка bash и изменила только мою обычную учетную запись для входа в zsh и применила учетную запись chsh -s $SHELL к моему, но я не знаю, влияет ли она на все остальные учетные записи.

ls -l /bin/sh отображает dash .

PS. Как файлы, такие как .bashrc и .zshrc , не содержат #!/bin/bash .zshrc #!/bin/bash или #!/bin/sh какой интерпретатор запускает команды в том случае, когда пользователь входит в систему, или для какой-либо команды требуется оболочка?

.zshrc

 # 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 

Linux и Unix - лучшая ОС в мире.