## Chapter 8: BS-NG Functions

Chapter 7 << | Index | >> Chapter 9

### 1 Admin functions

A set of more or less administrative functions

#### 1.1 torswitch

Torswitch is a simple function for switching on or off
the Tor Union-Router globally, when using Privoxy.
torswitch --on #turn on tor
torswitch --off #turn of tor

#### 1.2 repoadd

RepoAdd is a script for adding debian-packages to an already
set-up apt-repo which uses reprepro to be organized
The paths it uses are set by environment-variables
REPO_HOME the root-directory of the apt-repo
REPO_DIST the dist you wan to add your packages to
signing is done automatically

#### 1.3 wipe

Wipe overwrites the given device with random numbers
Use this on an empty partition which you want to crypt-setup later
DON'T USE THIS ON PARTITIONS WHICH CONTAIN FILES YOU WANT TO KEEP!
wipe <device>

#### 1.4 remount

Simply remount a device with given options
remount <device> <options>

#### 1.5 treeps

&nbps;A wrapper around ps with nicer output

### 2 Conversion functions

Various functions for conversion

#### 2.1 dos2unix

d2u: for converting dos-lineendings to unix-lineendings
u2d: for converting unix-lineendings to dos-lineendings

#### 2.2 binary conversion

bin2oct: convert binary to octal number
bin2dec: convert binary to decimal number
bin2hex: convert binary to hexadecimal number
bin2b32: convert binary to base 32
bin2b64: convert binary to base 64
bin2asc: convert binary to ascii
bin2all: overview of all above

#### 2.3 octal conversion

oct2bin: convert octal to binary number
oct2dec: convert octal to decimal number
oct2hex: convert octal to hexadecimal number
oct2b32: convert octal to base 32
oct2b64: convert octal to base 64
oct2asc: convert octal to ascii
oct2all: overview of all above

#### 2.4 decimal conversion

dec2oct: convert decimal to octal number
dec2bin: convert decimal to binary number
dec2hex: convert decimal to hexadecimal number
dec2b32: convert decimal to base 32
dec2b64: convert decimal to base 64
dec2asc: convert decimal to ascii
dec2all: overview of all above

#### 2.5 hexadecimal conversion

hex2oct: convert hexadecimal to octal number
hex2dec: convert hexadecimal to decimal number
hex2bin: convert hexadecimal to binary number
hex2b32: convert hexadecimal to base 32
hex2b64: convert hexadecimal to base 64
hex2asc: convert hexadecimal to ascii
hex2all: overview of all above

#### 2.6 ascii conversion

asc2oct: convert ascii to octal number
asc2dec: convert ascii to decimal number
asc2bin: convert ascii to binary number
asc2hex: convert ascii to ascii number asc2b32: convert ascii to base 32
asc2b64: convert ascii to base 64
asc2all: overview of all above

#### 2.7 degree conversion

cel2fah: convert °C to °F
cel2kel: convert °C to °K
fah2cel: convert °F to °C
fah2kel: convert °F to °K
kel2cel: convert °K to °C
kel2fah: convert °K to °F

#### 2.a misc conversion

arabic2roman: convert arabic numbers (0...9) to roman (I...M)
text2morse: convert plain-text into morse-code
morse2text: convert morse-code into plain-text

#### 2b algebra functions

Small set of algebra functions

#### 2b.1 round

Round a decimal (use `,' as delimiter)
round 2,457863 2 # = 2,46

#### 2b.2 radical

Calculate the square-root of a decimal (use `.' as delimiter)

#### 2b.3 power

Calculate the nth power of a number
radical 2 16 # = 2^16 = 65536

### 3 Info functions

#### 3.1 count_files

Function for counting files in the current directory, see --help

#### 3.2 count_processes

Function for counting processes

#### 3.3 show_battery_load

Function for displaying the battery load, via --acpi or --apm

#### 3.4 show_cpu_load

Function for displaying the CPU-Load

#### 3.5 show_ip

Function for displaying the ip-address of a given interface, see --help

#### 3.6 show_mem

Function for displaying the current free/used ram in mb/percent, see --help

#### 3.7 show_size

&nbps;Function for displaying the size of all files in the current directory

#### 3.8 show_space

Function for displaying the free space of a given device, see --help

#### 3.9 show_system_load

Function for displaying the system-load, see --help

#### 3.10 show_tty

Function for displaying the current TTY (in a stylish manner)

#### 3.11 show_uptime

Function for displaying the machine's uptime

#### 3.12 system_infos

Function for getting various system informations, see system_infos --help

#### 3.13 show_weather

Function for displaying current weather
show_weather Nürnberg
uses city from USER_LOCATION if set

### 4 Media functions

#### 4.1 geniso

Function for creating an ISO9660 image from a cd/dvd-drive
uses DD_OPTS and CD_WRITER variables

#### 4.2 writeiso

Simple function for writing an ISO9660 image to a disc
uses cdrecord and CD_WRITER variable

#### 4.3 youtube2ogg

Extracts the audio of .flv files to an OGG/Vorbis file (uses ffmpeg)

#### 4.4 conv2avi

Simple function for converting a mencoder-supported video file to
AVI (XVid/Lame), uses mencoder-mt if available

### 5 Misc. functions

#### 5.1 top10

Function for displaying your ten most-used commands

#### 5.2 crypt

Function for "en/decrypting" text-files using ROT13 method

#### 5.3 get_kernel

Function for grabbing kernel-sources, supports various options
-s VERSION for stable, -t VERSION for testing, -sg VERSION for
stable GIT, -tg VERSION for testing GIT, -z VERSION REVISION
for getting Zen kernel-patches

#### 5.4 stop_watch

Simple stopwatch for bash (Ctrl-C to stop)

#### 5.5 bashtips

Displays some useful tips about Bash

#### 5.6 define

Get the definition of a word

#### 5.7 kitt

Toy for the linux-console that flashes the keyboard leds
just like K.I.T.T's from Knight Rider.

#### 5.8 batch

Batch-perform actions on matching files, eg: batch README stat will call stat on any file matching the pattern README.

#### 5a ls variants

Some variants of the ls-command

#### 5a.1 ll

Display ls-output as list, directories first

#### 5a.2 la

Normal ls, but hidden files included

#### 5a.3 l1

Normal ls, but one file per line (usefull for scripts)

#### 5a.4 lo

Display a list of files and their owner

#### 5a.5 lg

Display a list of files and their group

#### 5a.6 lm

Display the permissions of given files (human-readable and octal)

### 6 Random functions

#### 6.1 random

Function for generating random numbers, use -l LENGTH
to set the length of the number, -r RANGE to set the
range of the number (so it will be between 0 and RANGE)

#### 6.2 randompw

Function similar to random, but outputting strings
which may be used for passwords, eg randompw 16
generates a 16 chars long password containing letters
and numbers randompw 16 ! (note the !) additionally
add special charachters to the output

#### 6.3 randomfile

Randomly select a file and output, see randomfile --help

### 7 Utility functions

#### 7.1 bookmark

Create a bookmark for the current directory, eg bookmark example
will add a go-example command which will then go back to that directory

#### 7.2 unmark

Remove a bookmark, eg unmark example will remove go-example

#### 7.3 up

Easier way of going up several directories, eg instead of
`cd ../../../../../' you do `up 5'

#### 7.4 deadlink

Search current directory for dead links

#### 7.5 empty

Search current directory for empty files

#### 7.6 exchange

Exchange the value of two variables, eg: `exchange $X $Y'
before: X=2 Y=4, afterwards X=4 Y=2

#### 7.7 man2pdf

Create a PDF from a manual page

#### 7.8 trunc_pwd

Used by the styles, to provide nicer pwd-output than \w and \W

#### 7.9 xdel

Deletes all files recursively matching the pattern without asking!
This is only loaded on Bash 4.0+

#### 7.10 xalias

Wrapper for alias, which stores the alias in your $HOME/.custom-rc
so that it is available in other sessions, too

#### 7.11 xunalias

Counterpart to xalias

#### 7.12 ugrep

Lookup unicode characters

#### 7.13 swap

Exchange two files

#### 7.14 progressbar

Displays a fancy progressbar, examples:
first do: sleep 15 & => then one of the following:
progressbar $!
progressbar $! oOOOo
progressbar $! "+ = "
instead of $! you might give it the PID of a process to watch
(also valid for all other bars/spinners now following)

#### 7.15 spinner

Displays a spinner, example:
sleep 10 &
spinner $!

#### 7.16 spanner

Alternative spinner, which moves the cursor around, instad of rotating
sleep 10&
spanner $!

#### 7.17 working

Displays animated "working" text
sleep 15 &
working $!

#### 7.18 spin

Combination of spinner and spanner
sleep 10 &
spin $!

#### 7.19 clock

A simple clock for the terminal (Ctrl-C to exit)

#### 7.20 treefind

Replacement for find, with nicer output

#### 7.21 wininfo

Get useful info about a window (WM_NAME etc.)
(for more infos, directly use xprop)

#### 7.22 repeat

repeat a command at a given intervall
repeat 3 echo "hello world"

#### 7.23 hilow

Small game for BASH

#### 7.24 colorshell

Changes the color of the text after each command (loaded internally)

#### 7.25 nseq

Print out all numbers from 1 to a given one

#### 7.26 ruler

The ruler™ for your terminal.

#### 7.27 box

Decorate text with a nice box. Last arg is used as character for the box

#### 7.28 binary-clock

Binary clock for the terminal (Ctrl-C to exit)

### 8 Versioning functions

#### 8.1 git_export

GIT version of svn export (export tree ready-to-use for release)

#### 8.2 git_bzip

Create .tar.bz2 archive from the tree, ready-to-use for release

#### 8.3 git_xz

Same as git_bzip but using XZ for compression

#### 8.4 get_gnome

&nbps;Function for grabbing git.gnome.org repos
&nbps;uses GIT_GNOME_USER variable if you have an account
examples for maintainers: get_gnome -m nautilus
get_gnome -mb nautilus 2-30 (checkout branch 2-30)
examples for users: get_gnome nautilus
get_gnome -b nautilus 2-30 (checkout branch 2-30)

#### 8.5 get_xfce

Same as get_gnome but for git.xfce.org, uses GIT_XFCE_USER

#### 8.6 git_branch

Display the current branch

#### 8.7 git_revision

Displays the current revision as 6-digit-number

#### 8.8 git_action

Display the currently running action (eg: merge)

#### 8.9 get_kde

Same as get_gnome but for svn.kde.org (may not work for all)
uses SVN_USER_KDE variable

#### 8.10 get_e

Same as get_gnome but for svn.enlightenment.org; -b and -mb
options are missing, though. Uses SVN_USER_ENLIGHTENMENT

### 9 Internal functions/variables

#### 9.1 BSNG_PREFIX

Environment-variable containing the installation-prefix of BS-NG

#### 9.2 BSNG_RC_DIR

Environment-variable containing the path to the functions directory

#### 9.3 BSNG_LOCKFILE

Environment-variable containing the path to the loCKfile

#### 9.4 BSNG_VERSION

Environment-variable containing the version of BS-NG

#### 9.5 BSNG_LOGFILE

Environment-variable containing the path to the loGfile

#### 9.6 BSNG_DOCS

Environment-variable containing the path to the documentation

#### 9.7 dbg_msg

Displays the debug messages on startup and stores them

#### 9.8 dbg_view

Displays the debug-log

#### 9.9 dbg_verbosity

Function for enabling/disabling the verbose debugging at startup

#### 9.10 check_opt

Check optional dependencies for scripts, on run-time

#### 9.12 ini_get

Get the value of a BashStyle-NG Settings-Key

#### 9.13 ini_set

Set the value of a BashStyle-NG Settings-Key

#### 9.14 ini_add

Add a BashStyle-NG Settings-Key

#### 9.15 reset_config

Reset the BS-NG settings to defaults

#### 9.16 search_key

Search for a GConf-Key

#### 9.17 dbg_log

Creates a log entry

#### 9.18 dbg_finalize

Finalizes the debug-log

#### 9.19 dbg_verbosity

Enable/disable the debug-text on startup
dbg_verbosity true [or: false]

#### 9.20 rc_add

Adds entries to various rc files (used for better readability)

#### 9.21 BSNG_BIN_DIR

Location of BashStyle-NG binaries