Dynamically Updating Xterm Title using Ksh93

In this post, I show you how to use a discipline function dynamically customize the title of your xterm window and your shell prompt

Zero Padding Brace Expansions in the Korn Shell

Both bash and zsh shells support leading zeros in ranges: $ echo {1..10} 1 2 3 4 5 6 7 8 9 10 $ echo {01..10} 01 02 03 04 05 06 07 08 09 10 $ echo {001..010} 001 002 003 004 005 006 007 008 009 010 $ From the bash manpage section on brace expansion: Supplied integers may be prefixed with 0 to force each term to have the same width. When either x or y begins with a zero, the shell attempts to force all generated terms to contain the same number of digits, zero-padding where

The Time Keyword in Bash

The word time is one of the bash shell reserved words. It is not a bash shell builtin. $ builtin time bash: builtin: time: not a shell builtin Bash does support the older Bourne shell keyword times as a builtin. This builtin prints out the user and system times used by the shell and its children. So where is the time reserved word used in the bash shell? It is primarily intended for printing pipeline timing statistics. From the current online bash documentation: The format for a pipeline is [time [-p]] [!] command1 [| command2 …] The output of each

Shell String Concatenation

Many people are unaware that string concatenation using the += syntax is fully supported in modern versions of both the Bash and Korn shells Here is a simple example which demonstrates the syntax: str=”Hello” $ str+=” ” $ str+=”World” $ echo $str Hello World $ If you use this syntax with “numbers”, you end up with a string that looks like a number but is not a number. $ a=2 $ a+=4 $ echo $a $ 24

Shell Script to List ACPI tables

ACPI (Advanced Configuration and Power Interface) defines platform-independent interfaces for hardware discovery, configuration, power management and monitoring, and these tables contain lots of useful information for low-level programmers such as myself. Here is a short shell script which I clobbered together a few days ago to list out the ACPI tables on a system together with a short description of each table where possible. #!/bin/bash # # Author: Finnbarr P. Murphy # Date: January 2015 # Purpose: List ACPI tables # License: BSD # TMP1=$(mktemp -u -p /var/tmp/ acpiXXXXXX) TMP2=$(mktemp -u -p /var/tmp/ acpiXXXXXX) TMP3=$(mktemp -u -p /var/tmp/ acpiXXXXXX) cat