Readonly command
From Linux Shell Scripting Tutorial - A Beginner's handbook
- Use the readonly command to make variables and functions readonly i.e. you cannot change the value of variables.
Contents |
Make variable readonly
readonly var readonly var=value readonly p=/tmp/toi.txt # error p=/tmp/newvale
Make function readonly
- You need to use the -f option to make corresponding function readonly and syntax is:
readonly -f functionName
- For example, write a function called hello() at a shell prompt, enter:
function hello() { echo "Hello world"; } # invoke it hello
- Make it readonly:
readonly -f hello # invoke it hello
- Now, try to update the hello(), enter:
function hello() { echo "Hello $1, let us be friends."; }
Sample outputs:
bash: hello: readonly function
Display all readonly variables
If no arguments are given, or if -p is given to the readonly buitin, a list of all readonly names is printed on screen:
readonlyOR
readonly -p
Sample outputs:
readonly declare -ar BASH_VERSINFO='([0]="3" [1]="2" [2]="39" [3]="1" [4]="release" [5]="i486-pc-linux-gnu")' declare -ir EUID="1000" declare -ir PPID="7628" declare -r SHELLOPTS="braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor" declare -ir UID="1000" declare -r pwdfile="/etc/passwd"
Display all readonly functions
Type the following command:
readonly -f
Sample outputs:
hello ()
{
echo "Hello world"
}
declare -fr hello
See also