3

⚙️ ❮ Zsh Unique ID ❯

 2 years ago
source link: https://dev.to/sso/zsh-unique-id-55ga
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

The Sorcery of Zsh (6 Part Series)

https://z.digitalclouds.dev | GitHub | Twitter | Join the team


This plugin provides a unique number that identifies a running Zshell session, in its shell variable $ZUID_ID.

Besides this unique number, also a unique codename is provided, in shell variable $ZUID_CODENAME.

Once you load this plugin, the two parameters will be set, and their values will not be available to other Zshell sessions (being thus unique).

$ZUID_ID is a progressing number starting from 1.

$ZUID_CODENAME is chosen from a list of predefined codenames, see the default list below.

An example use case is to hold logs in files .../mylog-${ZUID_CODENAME}.log,

so that two different Zshells will not write to the same file at the same time.


Default codenames are:

  • atlantis (for ZUID_ID == 1)
  • echelon (for ZUID_ID == 2)
  • quantum (etc.)
  • proxima
  • polaris
  • solar
  • momentum
  • hyper
  • gloom
  • velocity
  • future
  • enigma
  • andromeda
  • saturn
  • jupiter
  • aslan
  • commodore
  • falcon
  • persepolis
  • dharma
  • samsara
  • prodigy
  • ethereal
  • epiphany
  • aurora
  • oblivion

Zstyle configuration allows to customize the codenames:

zstyle :plugin:zuid codenames paper metal wood plastic # first 4 shells will have those codenames

Enter fullscreen mode

Exit fullscreen mode

Install Zsh Unique ID

The plugin is "standalone", which means that only sourcing it is needed (without using a plugin manager).

So to install, unpack zsh-unique-id somewhere and add:

source {where-zsh-unique-id-is}/zsh-unique-id.plugin.zsh

Enter fullscreen mode

Exit fullscreen mode

to zshrc.

Sourcing is recommended, because it can be done early,
at top of zshrc, without a plugin manager – to acquire the unique identification as early as possible.

With ZI

Add zi load z-shell/zsh-unique-id to your .zshrc file. ZI will clone the plugin the next time you start zsh.

To update issue zi update z-shell/zsh-unique-id.

With Antigen

Add antigen bundle z-shell/zsh-unique-id to your .zshrc file.

Antigen will handle cloning the plugin for you automatically the next time you start zsh.

With Oh-My-Zsh

  1. cd ~/.oh-my-zsh/custom/plugins
  2. git clone [email protected]:z-shell/zsh-unique-id.git
  3. Add zsh-unique-id to your plugin list.

With Zgen

Add zgen load z-shell/zsh-unique-id to your .zshrc file in the same place you're doing your other zgen load calls in.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK