Simon
Simon

Reputation: 38

iTerm2 startup command overwritten by user input, is there are better way to source ~/.zschrc

Since OSX changed the default shell to zsh I have been unhappy with my iTerm2 setup.

Initially I noticed that my ~/.zschrc file was not being sourced when a new shell was opened.

Following the guidance here

https://apple.stackexchange.com/questions/115598/how-to-set-an-iterm2-startup-command

and here

Why do you need to source .zshrc for every new shell in iTerm?

It seemed like the solution add source ~/.zscshrc to the following

Preferences -> Profiles -> Select Default Profile(default profile will be starred) -> General -> Command -> Select Login Shell -> Send text at start:

I have been using this solution for many months now and regularly find it annoying and it fails.

When a new terminal is opened I often begin issuing commands.

For example sake assume I issue the command "remote" (alias for ssh'ing into a remote machine)

The command I issue often gets mangled with the Send text at start command, breaking both the sourcing of the .zschrc and my command.

Here is some sample output of my opening a new termnal and trying to issue commands

Last login: Fri Jan 24 11:42:10 on ttys007
rsource ~/.zschrc
simon@Simons-MacBook-Pro ~ % rsource ~/.zschrc
zsh: command not found: rsource
xxxx@xxxxx-MacBook-Pro ~ % emote

Here you can see the "r" from my "remote" command has got mangled with the sourcing of the .zshrc file.

This happens frequently and on occasion many times in a row when I am busy with some urgent task.

Does anyone else suffer from this problem and is there a solution or better way I should be sourcing my ~/.zschrc file?

Upvotes: 0

Views: 446

Answers (1)

user1934428
user1934428

Reputation: 22225

An interactive Zsh sources the file $ZDOTDIR/.zshrc on startup, where ZDOTDIR defaults to your home directory. If you want to source a different file instead (in your case with name .zschrc), create a file ~/.zshrc with the content

. ~/.zschrc

Upvotes: 1

Related Questions