DEV Community

Cover image for ⚙️ ❮ Unique ID ❯
❮ ZI ❯ for Z-Shell

Posted on • Edited on • Originally published at z.digitalclouds.dev

2 2

⚙️ ❮ Unique ID ❯

❮ ZI ❯

https://z.digitalclouds.dev | GitHub | Twitter


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.)
  • ion
  • 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 git@github.com: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.

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (0)

Eliminate Context Switching and Maximize Productivity

Pieces.app

Pieces Copilot is your personalized workflow assistant, working alongside your favorite apps. Ask questions about entire repositories, generate contextualized code, save and reuse useful snippets, and streamline your development process.

Learn more