Why I need to source ~/.zshrc everytime when I starting a new term

I just install zsh, and i just copy my custom setting from my old pc(~/.zshrc),
but i need to source ~/.zshrc every time then the theme and plugins will take effect.

It’s weired that it seem that it has run the ~/.zshrc because i have add an inexistent dir to the file.
it will show this error every time.

/home/yougaopeng/.zshrc:source:117: no such file or dir: /home/yougaopeng/catkin_ws/devel/setup.zsh

pic1: open a new term(custom theme is not show)


pic2: after source the file

$ cat /etc/shells                                
# Pathnames of valid login shells.
# See shells(5) for details.
/bin/sh
/bin/bash
/usr/bin/git-shell
/bin/zsh
/usr/bin/zsh
$ echo $SHELL      
/bin/zsh

It seems that the zsh is using other config file by default?
how can I do to make it auto source my setting ??

What does ls -la .z* return?

$ ls -la .z*
-rw-r--r-- 1 yougaopeng yougaopeng    893 Mar  3 19:12 .z
-rw-r--r-- 1 yougaopeng yougaopeng  42772 Mar  3 13:23 .zcompdump
-rw-r--r-- 1 yougaopeng yougaopeng  43657 Mar  3 19:17 .zcompdump-yougaopeng-laptop-5.8.1
-rw-r--r-- 1 yougaopeng yougaopeng 207839 Mar  3 19:17 .zsh_history
-rw-r--r-- 1 yougaopeng yougaopeng   4217 Mar  3 16:41 .zshrc
-rw-r--r-- 1 yougaopeng yougaopeng   4339 Mar  3 09:02 .zshrc.pre-oh-my-zsh_11111

I have renamed the .zshrc.pre-oh-my-zsh by adding 1111.

At work (windows :frowning: ), but I think .zshrc needs to be executable.

chmod +x .zshrc ## If I remember correctly!!!!

.zshrc should not be executable.

@canyue980, can we see the full contents of your .zshrc?

It doesn’t seem so… Not in my account files :man_shrugging: or in Archwiki (on a quick glance).

1 Like

Was it an Arch installation?
Arch has some differences from upstream configuration.
Anyway, you are probably doing something wrong. Check zsh Archwiki to clear out that.

Yeh, at work - lots of stuff is blocked :frowning: Surprised I can get on here :rofl:

I tried to add +x but still not working.

# If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:$PATH

# Path to your oh-my-zsh installation.
export ZSH=$HOME/.oh-my-zsh
source $ZSH/oh-my-zsh.sh

# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
# default: robbyrussell
# recommanded jtriley dpoggi af-magic ys zeta
ZSH_THEME="ys"

# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in ~/.oh-my-zsh/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )

# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"

# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"

# Uncomment the following line to automatically update without prompting.
# DISABLE_UPDATE_PROMPT="true"

# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13

# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS=true

# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"

# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"

# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
HIST_STAMPS="mm/dd/yyyy"

# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder

# Which plugins would you like to load?
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
git
zsh-autosuggestions
z
)
# highlighting
source $ZSH/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# auto suggest accept - bind key '`'
bindkey '`' autosuggest-accept
# z - jump around - bind key 'j'
alias ${_Z_CMD:-j}='_z 2>&1'

# User configuration
#source ~/.bash_profile

# export MANPATH="/usr/local/man:$MANPATH"

# You may need to manually set your language environment
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR='vim'
# else
#   export EDITOR='mvim'
# fi

# Compilation flags
# export ARCHFLAGS="-arch x86_64"

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
#alias rm="trash"
alias cp="cp -i"

source /opt/ros/noetic/setup.zsh
source ~/catkin_ws/devel/setup.zsh

export ROS_HOSTNAME=192.168.0.4
export ROS_MASTER_URI=http://ilife:11311
#source ~/catkin_ws/install_isolated/setup.zsh

export http_proxy=http://localhost:8123
export https_proxy=http://localhost:8123

@canyue980 Remove or comment out this line in ~/.zshrc and run source ~/.zshrc.

nope, I just copy this .zshrc file.

Oh-my-zsh is bloat.

Have you checked Archwiki?

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.