bash
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
bash [2022/03/01 10:24] – examples elsewhere rjt | bash [2024/01/10 10:59] (current) – Move all files in subdirectories to parent rjt | ||
---|---|---|---|
Line 2: | Line 2: | ||
The **__B__ourne __A__gain __Sh__ell** is the default command language / shell in [[Linux]], and I've never bothered to try any other. You type stuff in (or paste it from stackexchange...) and useful stuff happens. | The **__B__ourne __A__gain __Sh__ell** is the default command language / shell in [[Linux]], and I've never bothered to try any other. You type stuff in (or paste it from stackexchange...) and useful stuff happens. | ||
+ | |||
+ | ===== Features ===== | ||
+ | |||
+ | ==== Arguments ==== | ||
+ | |||
+ | You can use [[getopts]] to read arguments attached to the command. You use a '' | ||
+ | |||
+ | In this example you can use '' | ||
+ | |||
+ | <code bash> | ||
+ | while getopts :io flag | ||
+ | do | ||
+ | case $flag in | ||
+ | i) input=${OPTARG} ;; | ||
+ | o) output=${OPTARG} ;; | ||
+ | esac | ||
+ | done | ||
+ | </ | ||
+ | |||
+ | ==== Conditional Constructs ==== | ||
+ | |||
+ | === if === | ||
+ | |||
+ | |||
+ | -n string True if the length of string is non-zero. -a file True if file exists. DPMT USE -a, it's weird | ||
+ | |||
+ | In the documentation of test you will also see a the switch -e. This switch tests the following argument and evaluates to true if that argument is a file or directory that exists. More useful still is the -f switch which evaluates to true if the following argument exists and is a regular file (as opposed to a directory or a block device, or whatever). | ||
+ | |||
+ | === case === | ||
===== Examples ===== | ===== Examples ===== | ||
Line 19: | Line 48: | ||
mv -- " | mv -- " | ||
done | done | ||
+ | </ | ||
+ | |||
+ | ==== Move all files in subdirectories to parent ==== | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | <code bash> | ||
+ | find . -mindepth 2 -type f -print -exec mv {} . \; | ||
</ | </ | ||
bash.1646090667.txt.gz · Last modified: 2022/03/01 10:24 by rjt