User Tools

Site Tools


program_lang:bash

This is an old revision of the document!


Table of Contents

BASH

basename

Error when using basename command

[storage@lnx01l scripts]$ basename $0
basename: invalid option -- 'b'
Try 'basename --help' for more information.
[storage@sptl064l scripts]$ basename -- $0
-bash

You can also use the first occurence when using su

instead su - myuser -c "myprog.sh"
use su - myuser "myprog.sh"

Explanation: When you execute the script in the context of the running shell (which is started via the “-c” option of su), that makes it an interactive shell (hence the -bash is the value of $0). So the “basename -bash” fails as “-b” is not a valid option…

array

Define an array

allThreads=(1 2 4 8 16 32 64 128)

List all Items from array

${allThreads[@]}

List the first item

${logPaths[0]}

arr=() 	Create an empty array
arr=(1 2 3) 	Initialize array
${arr[2]} 	Retrieve third element
${arr[@]} 	Retrieve all elements
${!arr[@]} 	Retrieve array indices
${#arr[@]} 	Calculate array size
arr[0]=3 	Overwrite 1st element
arr+=(4) 	Append value(s)
str=$(ls) 	Save ls output as a string
arr=( $(ls) ) 	Save ls output as an array of files
${arr[@]:s:n} 	Retrieve n elements starting at index s
program_lang/bash.1624013538.txt.gz · Last modified: 2021/06/18 12:52 by manu