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.
$ echo $SHELL      

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

# 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.

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

# Uncomment the following line to disable bi-weekly auto-update checks.

# Uncomment the following line to automatically update without prompting.

# 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.

# Uncomment the following line to disable colors in ls.

# Uncomment the following line to disable auto-setting terminal title.

# Uncomment the following line to enable command auto-correction.

# Uncomment the following line to display red dots whilst waiting for completion.

# 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.

# 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.

# 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.
# 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_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.