Jesús d7559d5c24
No double entries in the shell history
HISTCONTROL

   A colon-separated list of values controlling how commands are saved on the history list.
   If the list of values includes ignorespace, lines which begin with a space character
   are not saved in the history list. A value of ignoredups causes lines matching the
   previous history entry to not be saved. A value of ignoreboth is shorthand for
   ignorespace and ignoredups. A value of erasedups causes all previous lines matching
   the current line to be removed from the history list before that line is saved.
   Any value not in the above list is ignored. If HISTCONTROL is unset, or does not
   include a valid value, all lines read by the shell parser are saved on the history
   list, subject to the value of HISTIGNORE. The second and subsequent lines of a
   multi-line compound command are not tested, and are added to the history regardless
   of the value of HISTCONTROL.
2021-08-17 14:46:39 -05:00
2021-02-10 13:52:52 -05:00
2021-02-10 13:52:52 -05:00
2021-02-10 13:52:52 -05:00
2021-02-19 21:26:55 -05:00
2021-02-10 13:52:52 -05:00
2021-02-10 13:52:52 -05:00
2021-02-10 13:52:52 -05:00
2021-02-10 13:52:52 -05:00
2021-02-10 13:52:52 -05:00
2021-02-10 15:33:43 -05:00
2021-02-10 13:52:52 -05:00
2021-02-10 13:52:52 -05:00
2021-05-25 11:40:55 -05:00
2021-02-10 13:52:52 -05:00

HyperTerm

Custom Prompt Shell Settings for Bash

Requirements

  • wget
  • curl
  • git

Features

  • Show Git information (branch, tag, or where you did git checkout)

  • It allows knowing the status (exit status) of the Prompt Shell after executing one/some command(s).

  • Makes source to /usr/share/doc/pkgfile/command-not-found.bash automatically (requires pkgfile).

  • Source /usr/share/bash-completion/bash_completion automatically (requires bash-completion).

  • Includes a hyperterm/_custom.sh for customizations in HyperTerm, separately.

    Your changes must be in $HOME/.hyperterm/_custom.sh, so that are not deleted when it is updated.

  • Special functions like:

    • activate to activate virtualenv in python
    • cex compress files and/or directories
    • ex extract files
    • ii general system information
    • proxy_on enables proxy in terminal or tty
    • sagent_start and sangent_stop to enable or disable the SSH agent (password is remembered for 432000 seconds)
    • rar2zip convert RAR files to ZIP, use unar and 7z
  • Aliases like:

    • clean clears the bash history
    • df shows information about the partitions of the S.O.
    • pastebin allows you to quickly generate a paste for example: cat/etc/*release | pastebin or sensors | pastebin
    • ep open a PKGBUILD with emacs
    • free shows RAM and SWAP information
    • grep skips its colors by default
    • la short of ls -la --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F
    • ll short of ls -l --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F
    • ls short of ls --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F
    • np open a PKGBUILD with nano
  • Look at tools directory for more functions.

  • Run screenfetch if installed (included in the hyperterm/_custom.sh template).

Installation

Semi-automatic

  1. Download file install.sh:

     $ wget https://git.sr.ht/~heckyel/hyperterm/blob/master/install.sh -O "$HOME/install.sh"
    
  2. Run file install.sh

     $ bash "$HOME/install.sh"
    

    or in silent mode:

     $ bash "$HOME/install.sh" -s
    

    use -h to show help:

     $ bash "$HOME/install.sh" -h
    
  3. Delete file install.sh:

     $ rm -v "$HOME/install.sh"
    

Manual

  1. As a suggestion, make a backup of your Prompt Shell.

     $ for f in .bashrc .bash_aliases .bash_profile; do cp -v "$HOME/$f" "$HOME/$f.bak"; done
    
  2. Clone the HyperTerm repository:

    • Mirror 1: git clone https://git.sr.ht/~heckyel/hyperterm.git "$HOME/bash"
    • Mirror 2: git clone https://notabug.org/heckyel/hyperterm.git "$HOME/bash"
  3. Copy the HyperTerm files to your Local Directory

     $ install -d -m755 "$HOME/.hyperterm"
    
     $ cp -rv $HOME/bash/hyperterm/* "$HOME/.hyperterm"
    
     $ cp -v $HOME/bash/.bash* "$HOME"
    
     $ cp -v $HOME/bash/hyperterm/_custom.sh "$HOME/.hyperterm"
    
     $ install -m644 $HOME/bash/template/bash_profile.template.bash "$HOME/.bashrc"
    
  4. Open your terminal again or execute the next instruction

     $ . $HOME/.bashrc*
    
  5. Delete the repository if you are not interested in having it stored

     $ rm -rfv bash
    
  6. Done!

Post-installation

  • Optionally you can install trash-cli, pkgfile, bind-tools, bash-completion

      $ pacman -S trash-cli
    
      $ pacman -S pkgfile
    
      $ pacman -S bind-tools
    
      $ pacman -S bash-completion
    

trash-cli: is a utility to prevent accidental deletion when using the rm -rf command

pkgfile: allows you to search for the command executed in the repository database

bind-tools: allows to get ISP, running 'ii' in terminal

bash-completion: allows bash autocomplete

Upgrade

  • To update just open the terminal and run:

    updbashrc to update HyperTerm

    updbashrc_custom just to update file hyperterm/_custom.sh

Screenshots

Git

Alt git preview

Themes

default

Alt Bash por defecto

joy

Alt Special

light_theme

Alt Light theme

minterm

Alt Min term

pure

Alt Pure

special

Alt Special

The theme is configurable from file $HOME/.hyperterm/_custom.sh

Uninstall

Semi-automatic

  1. Download file uninstall.sh:

     $ wget https://git.sr.ht/~heckyel/hyperterm/blob/master/uninstall.sh -O "$HOME/uninstall.sh"
    

    o

     $ wget https://notabug.org/heckyel/hyperterm/raw/master/uninstall.sh -O "$HOME/uninstall.sh"
    
  2. Run file uninstall.sh:

     $ bash "$HOME/uninstall.sh"
    
  3. Delete file uninstall.sh:

     $ rm -v "$HOME/uninstall.sh"
    

Manual

If you want to leave your computer as it was, delete the files copied from step 3 with:

$ rm -vrf "$HOME/{.hyperterm/,.bashrc}"

and restore the *.bak files from step 1 by running:

$ for f in .bashrc .bash_aliases .bash_profile; do cp -v "$HOME/$f.bak" "$HOME/$f"; done

Hacking

See HACKING.md

Contributors

HyperTerm contributors can be found in the AUTHORS file

License

This work is licensed under the GNU GPLv3+

Description
Custom Prompt Shell Settings for Bash
Readme GPL-3.0 376 KiB
Languages
Shell 100%