Questions tagged [function]
Questions on function usage in the context of Unix & Linux (mostly but not exclusively shell scripts). Questions on programming in Python, Perl, Ruby, etc. should be asked on Stack Overflow.
584 questions
1
vote
2
answers
248
views
Calling a function through command substitution
When you have a function f defined in a Bash script, you can call it using $(f). However, this creates a subshell in which the function is called.
Consider this example:
#!/usr/bin/bash
f() {
echo ...
0
votes
0
answers
36
views
Cannot understand variable assignment logic in bash function [duplicate]
I created this function, which is supposed to allow an interactive selection of an mDNS hostname, and then connect to it via ssh.
Yet, whatever I try, the host variable is only available in side the ...
2
votes
1
answer
122
views
Bash: function in a script with flags
Using https://stackoverflow.com/a/7948533/31298396, we can implement flags for a script testing as follows:
#!/bin/bash
# Flags
# Source: https://stackoverflow.com/a/7948533/31298396
TEMP=$(getopt ...
3
votes
2
answers
214
views
Localising variables in /bin/sh functions
POSIX defines shell functions as:
fname ( ) compound-command [io-redirect ...]
The compound-command is further defined as either:
( compound-list )
{ compound-list ; }
In particular POSIX notes for ...
0
votes
1
answer
103
views
How to keep a local function private in a zsh `autoload` module?
I want to define a helper function in a zsh autoload-ed module. The problem is, if I just define in my my_autoloaded_fn file such as
function helper {
# ...
}
helper a
helper b
the name helper ...
2
votes
4
answers
248
views
Is there a Bash variable containing the name of the previously executed function?
I want to line up a couple of Bash functions based on the success or failure of the execution of the preceding function.
If something fails, I want to print an error message: function_x has failed.
...
0
votes
0
answers
33
views
Why is set -e also ignored for functions called via command substitution [duplicate]
I've seen questions about this topic, but they talk about constructs like if or ||.
I don't understand why the same behavior seem to happen for substitution ($())?
$ my_function() { echo "the ...
4
votes
1
answer
357
views
Run in background avoiding any job control message from the shell [duplicate]
Lets define a shell function (here the shell is Bash) and test it
$ s () { xterm -e sleep 5 & }
$ s
[1] 307926
$
[1]+ Done xterm -e sleep 5
$
With my specific meaning of ...
7
votes
1
answer
652
views
bash - how to remove a local variable (inside a function)
I've read what's listed in Bibliography regarding unset, declare, local and "Shell Functions".
My version of Bash is
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
var='outer'
...
2
votes
1
answer
245
views
Why does a 'pipe-to-awk' behave differently inside a function?
I'm using alsa to fiddle around with the volume on a Bluetooth speaker I have connected. It's a 1-speaker setup; just something to provide some background.
I can 'get' the volume setting fm the CLI as ...
3
votes
1
answer
666
views
Strange variable scope behavior when calling function recursivly
EDIT: sorry. this is my first question here.
Here is a minimal working example
#!/bin/bash
#
count=0
function something() {
if test -f "$1"; then
# is a file
((count++))
...
-1
votes
1
answer
238
views
Override tr in ~/.bashrc
I'm trying to create a function to translate words via a custom script:
function mean() {
~/scripts/translate.sh $1
}
I would prefer the function to be named tr, as it is much shorter and faster ...
3
votes
1
answer
413
views
How to overload / customize bash (or any other shell) commands handler?
When in bash some non existing command is run, corresponding error message appears:
$ non-existent-command
non-existent-command: command not found
Is it possible to customize this behavior?
I would ...
3
votes
2
answers
427
views
how to alias the `history` function in fish shell
I'm trying to set the fish history pager to be bat -l fish for syntax highlighting.
(i.e. set the PAGER environment variable bat -l fish just for the history command).
I tried:
# 1:
alias history &...
0
votes
2
answers
127
views
Bash scripting: When to use variable, when function?
basic, innocent question:
In bash scripting, why ever using a function, if one can set a variable containing command substitution with the essence of the function - a certain command or set of ...