У меня есть сценарий инициализации бродяг, который пытается установить Zsh, если он недоступен, а затем изменить оболочку на использование Zsh.Ubuntu Zsh (через Vagrant) не находит Zsh или его функции
Есть две проблемы, я считаю, что я имею:
Первое, что я не считаю, что оболочка, меняется в Zsh, потому что, когда я бегу vagrant ssh
для доступа к Ubuntu VM и когда-то запустить ps -p $$
в команда указывает, что Bash - это работающая оболочка (где я ожидал бы Zsh).
Второй вопрос, если он является изменением в оболочку ЗША (независимо от того, каких ps -p $$
отчетов назад), то Zsh отображает много ошибок, когда я источник .zshrc файл, предполагающий указанные функции отсутствуют или просто не ссылаясь правильно.
Я разбить его на этапы, делая установку Zsh, а вручную, чем через провизий сценарий Бродячей ...
cat /etc/shells
-> Я не вижу ссылок на ЗШ †sudo apt-get update
sudo apt-get install zsh
≠cat /etc/shells
-> есть теперь/bin/zsh
и/usr/bin/zsh
which zsh
->/usr/bin/zsh
zsh --version
->zsh 5.0.2 (x86_64-pc-linux-gnu)
chsh -s $(which zsh)
source .zshrc
-> Много ошибок, посланных на стандартный вывод ~~tree /usr/share/zsh/
-> смотри ниже ** для вывода, но обратите вниманиеfunction
каталог не внутри5.0.2
directory?
Я думаю, что более вероятно, Zsh не изменяется, потому, если я выполнить команду zsh
я получаю доставлен в новой среде оболочки, и если я затем запустить source .zshrc
я не получаю никаких ошибок. Кроме того, если я запустил ps -p $$
, теперь я увижу, что Zsh сообщается как запущенная оболочка.
Весь мой сценарий подготовки брандмауэра можно найти в нижней части этого вопроса.
† список оболочек, которые я вижу, являются:
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/tmux
/usr/bin/screen
≠ выход:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
zsh-common
Suggested packages:
zsh-doc
The following NEW packages will be installed:
zsh zsh-common
0 upgraded, 2 newly installed, 0 to remove and 55 not upgraded.
Need to get 2,726 kB of archives.
After this operation, 11.4 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu/ trusty/main zsh-common all 5.0.2-3ubuntu6 [2,119 kB]
Get:2 http://archive.ubuntu.com/ubuntu/ trusty/main zsh amd64 5.0.2-3ubuntu6 [607 kB]
Fetched 2,726 kB in 6s (420 kB/s)
Selecting previously unselected package zsh-common.
(Reading database ... 61742 files and directories currently installed.)
Preparing to unpack .../zsh-common_5.0.2-3ubuntu6_all.deb ...
Unpacking zsh-common (5.0.2-3ubuntu6) ...
Selecting previously unselected package zsh.
Preparing to unpack .../zsh_5.0.2-3ubuntu6_amd64.deb ...
Unpacking zsh (5.0.2-3ubuntu6) ...
Processing triggers for man-db (2.6.7.1-1) ...
Setting up zsh-common (5.0.2-3ubuntu6) ...
Setting up zsh (5.0.2-3ubuntu6) ...
update-alternatives: using /bin/zsh5 to provide /bin/zsh (zsh) in auto mode
update-alternatives: using /bin/zsh5 to provide /bin/rzsh (rzsh) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/rzsh.1.gz because associated file /usr/share/man/man1/zsh.1.gz (of link group rzsh) doesn't exist
~~ Ниже представлен список ошибок, а конфигурационный файл Zsh можно увидеть здесь https://github.com/Integralist/dotfiles/blob/linux/.zshrc
autoload: command not found
zmodload: command not found
No command 'zstyle' found, did you mean:
Command 'style' from package 'diction' (universe)
Command 'astyle' from package 'astyle' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'astyle' from package 'astyle' (universe)
Command 'style' from package 'diction' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'astyle' from package 'astyle' (universe)
Command 'style' from package 'diction' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'style' from package 'diction' (universe)
Command 'astyle' from package 'astyle' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'style' from package 'diction' (universe)
Command 'astyle' from package 'astyle' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'style' from package 'diction' (universe)
Command 'astyle' from package 'astyle' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'astyle' from package 'astyle' (universe)
Command 'style' from package 'diction' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'astyle' from package 'astyle' (universe)
Command 'style' from package 'diction' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'astyle' from package 'astyle' (universe)
Command 'style' from package 'diction' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'style' from package 'diction' (universe)
Command 'astyle' from package 'astyle' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'astyle' from package 'astyle' (universe)
Command 'style' from package 'diction' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'style' from package 'diction' (universe)
Command 'astyle' from package 'astyle' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'style' from package 'diction' (universe)
Command 'astyle' from package 'astyle' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'style' from package 'diction' (universe)
Command 'astyle' from package 'astyle' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'astyle' from package 'astyle' (universe)
Command 'style' from package 'diction' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'astyle' from package 'astyle' (universe)
Command 'style' from package 'diction' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'style' from package 'diction' (universe)
Command 'astyle' from package 'astyle' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'astyle' from package 'astyle' (universe)
Command 'style' from package 'diction' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'style' from package 'diction' (universe)
Command 'astyle' from package 'astyle' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'style' from package 'diction' (universe)
Command 'astyle' from package 'astyle' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'astyle' from package 'astyle' (universe)
Command 'style' from package 'diction' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'style' from package 'diction' (universe)
Command 'astyle' from package 'astyle' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'astyle' from package 'astyle' (universe)
Command 'style' from package 'diction' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'astyle' from package 'astyle' (universe)
Command 'style' from package 'diction' (universe)
zstyle: command not found
No command 'zstyle' found, did you mean:
Command 'astyle' from package 'astyle' (universe)
Command 'style' from package 'diction' (universe)
zstyle: command not found
bindkey: command not found
bindkey: command not found
bindkey: command not found
bindkey: command not found
bindkey: command not found
bindkey: command not found
bindkey: command not found
autoload: command not found
No command 'colors' found, did you mean:
Command 'xcolors' from package 'xcolors' (universe)
colors: command not found
-bash: %{$fg_no_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_no_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_no_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_no_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_no_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_no_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_no_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_no_bold[${(L)COLOR}]%}: bad substitution
-bash: %{$fg_bold[${(L)COLOR}]%}: bad substitution
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
unsetopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
No command 'setopt' found, did you mean:
Command 'getopt' from package 'util-linux' (main)
setopt: command not found
autoload: command not found
** выход из tree
команды на /usr/share/zsh
Каталог:
/usr/share/zsh/
├── 5.0.2
│ └── scripts
│ └── newuser
├── functions
│ ├── Calendar
│ │ ├── ...
│ ├── Calendar.zwc
│ ├── Chpwd
│ │ ├── ...
│ ├── Chpwd.zwc
│ ├── Completion
│ │ ├── AIX
│ │ │ ├── ...
│ │ ├── AIX.zwc
│ │ ├── Base
│ │ │ ├── ...
│ │ ├── Base.zwc
│ │ ├── bashcompinit
│ │ ├── BSD
│ │ │ ├── ...
│ │ ├── BSD.zwc
│ │ ├── compaudit
│ │ ├── compdump
│ │ ├── compinit
│ │ ├── compinstall
│ │ ├── Cygwin
│ │ │ ├── ...
│ │ ├── Cygwin.zwc
│ │ ├── Darwin
│ │ │ ├── ...
│ │ ├── Darwin.zwc
│ │ ├── Debian
│ │ │ ├── ...
│ │ ├── Debian.zwc
│ │ ├── Linux
│ │ │ ├── ...
│ │ ├── Linux.zwc
│ │ ├── Mandriva
│ │ │ ├── _rebootin
│ │ │ └── _urpmi
│ │ ├── Mandriva.zwc
│ │ ├── openSUSE
│ │ │ ├── ...
│ │ ├── openSUSE.zwc
│ │ ├── Redhat
│ │ │ ├── ...
│ │ ├── Redhat.zwc
│ │ ├── Solaris
│ │ │ ├── ...
│ │ ├── Solaris.zwc
│ │ ├── Unix
│ │ │ ├── ...
│ │ ├── Unix.zwc
│ │ ├── X
│ │ │ ├── ...
│ │ ├── X.zwc
│ │ ├── Zsh
│ │ │ ├── ...
│ │ └── Zsh.zwc
│ ├── Completion.zwc
│ ├── Exceptions
│ │ ├── catch
│ │ └── throw
│ ├── Exceptions.zwc
│ ├── MIME
│ │ ├── ...
│ ├── MIME.zwc
│ ├── Misc
│ │ ├── ...
│ ├── Misc.zwc
│ ├── Newuser
│ │ └── zsh-newuser-install
│ ├── Newuser.zwc
│ ├── Prompts
│ │ ├── ...
│ ├── Prompts.zwc
│ ├── TCP
│ │ ├── ...
│ ├── TCP.zwc
│ ├── VCS_Info
│ │ ├── ...
│ ├── VCS_Info.zwc
│ ├── Zftp
│ │ ├── ...
│ ├── Zftp.zwc
│ ├── Zle
│ │ ├── ...
│ └── Zle.zwc
└── help
Вот мой Vagrant скрипт инициализации
# Install dependencies
add-apt-repository ppa:pi-rho/dev # for latest tmux
apt-get update
apt-get remove vim-tiny -y
apt-get install vim tmux git tree htop reptyr xclip -y
# Install Zsh shell if it's not available
if ! cat /etc/shells | grep zsh; then
echo "Zsh is not available, so we'll install it now"
apt-get install zsh -y
fi
# For the Reptyr program to work we need to enable system access
# We do this by changing the ptrace scope from one to zero
sed -i 's/kernel.yama.ptrace_scope = 1/kernel.yama.ptrace_scope = 0/' /etc/sysctl.d/10-ptrace.conf
# Because this is a system control daemon, we need to restart the relevant service
sysctl -p /etc/sysctl.d/10-ptrace.conf
# Avoid the shell asking us to authorise the authenticity of github.com
# This happens when doing a git clone for the first time
echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
# Install dotfiles...
dotfiles_location=/home/vagrant/dotfiles
git clone https://github.com/Integralist/dotfiles.git $dotfiles_location
cd $dotfiles_location && git fetch && git checkout linux
# Ensure we don't move unnecessary files
shopt -s extglob
mv !(.|..|.git|README.md) ..
# Clean-up
cd ../ && rm -rf dotfiles
# Change to Zsh shell
chsh -s $(which zsh)
# Source the Zsh config file
source .zshrc
Ваш вопрос, потому что вы четко изложите детали своей проблемы. В следующий раз нам, вероятно, не нужно будет видеть каждый бит информации, немного отредактируйте его с помощью заметок (например, аналогичная ошибка повторяется 40 раз) ;-) Удачи. – shellter