Hacker Public Radio

Your ideas, projects, opinions - podcasted.

New episodes Monday through Friday.


HPR3625: Shell Tips and Snippets - Collaborative Effort

Hosted by Carl on 2022-06-24 00:00:00
Download or Listen

Carl talks about a method to move function definitions to the bottom of a script using sed:

#!/bin/sh
source <(sed '1,/^exit/ d' $0)

__say "hello"

exit

__say()
{
    echo $1
}

Guest Host #1 (scroll to the bottom to ruin the surprise) talks about the shift command using this example:

startdate="$1" # Pick up date
shift
days=0

# Loop through args and create events
while [ $1 ] ; do # as many times as you add a timestamp
        [ $1 != "off" ] && khal new $(date -j -v+"$days"d -f %Y-%m-%d +%Y-%m-%d $startdate) $1 8H Work
        let days++
        shift
done

Guest Host #2 provides tips and examples on how to use variables safely and politely provide default values. One example of assigning a default value is:

foo=${foo:-"blah"}

Carl then closes out with the : (colon) shell builtin and provides a variation on the above default value:

: ${foo:="blah"}

Comments



More Information...


Copyright Information

Unless otherwise stated, our shows are released under a Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license.

The HPR Website Design is released to the Public Domain.