What is the difference between the terms “program”, “command” and “function” in Linux & Unix?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
6
down vote

favorite












I would like to know whether the commands that we call in the shell are functions or programs?










share|improve this question









New contributor




Lion is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 1




    What distinction are you making between "small program" and "function"?
    – JdeBP
    5 hours ago










  • What practical difference do you see this making?
    – Jeff Schaller
    4 hours ago














up vote
6
down vote

favorite












I would like to know whether the commands that we call in the shell are functions or programs?










share|improve this question









New contributor




Lion is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 1




    What distinction are you making between "small program" and "function"?
    – JdeBP
    5 hours ago










  • What practical difference do you see this making?
    – Jeff Schaller
    4 hours ago












up vote
6
down vote

favorite









up vote
6
down vote

favorite











I would like to know whether the commands that we call in the shell are functions or programs?










share|improve this question









New contributor




Lion is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











I would like to know whether the commands that we call in the shell are functions or programs?







shell command-line function bash-functions






share|improve this question









New contributor




Lion is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Lion is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 10 mins ago









Benjamin W.

393110




393110






New contributor




Lion is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 6 hours ago









Lion

403




403




New contributor




Lion is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Lion is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Lion is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 1




    What distinction are you making between "small program" and "function"?
    – JdeBP
    5 hours ago










  • What practical difference do you see this making?
    – Jeff Schaller
    4 hours ago












  • 1




    What distinction are you making between "small program" and "function"?
    – JdeBP
    5 hours ago










  • What practical difference do you see this making?
    – Jeff Schaller
    4 hours ago







1




1




What distinction are you making between "small program" and "function"?
– JdeBP
5 hours ago




What distinction are you making between "small program" and "function"?
– JdeBP
5 hours ago












What practical difference do you see this making?
– Jeff Schaller
4 hours ago




What practical difference do you see this making?
– Jeff Schaller
4 hours ago










3 Answers
3






active

oldest

votes

















up vote
9
down vote













It depends.



Commands can fall into multiple categories: builtins, aliases,
functions, executables (scripts and binaries in the search path).



On the command line, these occupy a single, flat namespace which
makes overriding possible. There are numerous ways of telling
kinds of programs apart:



$ f () :; 
$ alias a=cat
$ which f
f ()

:



We know that f is a function.



$ which a
alias a='cat'
/usr/bin/cat


We know that a is an alias.



$ which yes
/usr/bin/yes


We know that yes is a program.



$ builtin echo ; echo $?

0


The shell has an echo builtin …



$ builtin cat ; echo $?
bash: builtin: cat: not a shell builtin
1


… but none for cat. If there is a builtin or an alias
but you insist on calling the program instead, prefix the
command with a backslash:



$ builtin true | printf "%dn" $?
0
$ alias true=false
$ true ; printf "%dn" $?
1
$ true ; printf "%dn" $?
0





share|improve this answer
















  • 1




    Also, a command that's a program in one implementation of *nix might well become a shell builtin (= function) in another.
    – jamesqf
    2 hours ago






  • 1




    @jamesqf, yeah, shell's have standard tools built in, but builtin commands are not the same as functions. Run e.g. sh -c 'type true; f() echo x; ; type f'
    – ilkkachu
    46 mins ago










  • Note that in general, type is preferable to which for almost all purposes. See unix.stackexchange.com/q/85249/135943
    – Wildcard
    3 mins ago

















up vote
6
down vote













The definition of a function is returning single values, and does not output anything. Shell functions in particular may very well and could have an output or other side effects, since the return value of functions is so limited.



A command is an instruction given by a user to tell a computer to do something, for example, executing a single program or a group of linked programs.



A program is a sequence of instructions (i.e. commands) that are given to a computer and understandable by the computer's central processing unit (CPU). these instructions indicates which operations the computer should perform on a set of data.



Having said that, functions are logical subset of the program. Calling one is entirely within your process. The command is a program (or a shell built-in) can be executed from the command shell. The command implements functions which perform a task. The opposite is not correct.






share|improve this answer


















  • 5




    "a function returns a single value, and does not output anything" -- well, yeah, in the mathematical sense maybe. But in imperative programming languages, it's really common for "function" to mean just a subroutine, one that could do anything. And shell functions in particular may very well have output or other side effects, since the return value of functions is so limited.
    – ilkkachu
    6 hours ago










  • @ilkkachu. Thank you. I have updated the answer. Please feel free to revise ;-)
    – Goro
    6 hours ago






  • 2




    I think these definitions are from a programming-language context, not a shell context. Yes, I know the shell language is a programming language, but its idea of a "function" is quite different to the mathematical or computer-science definition - in shell, all commands (whether builtins, functions, aliases, programs or scripts) act alike, and are simply different kinds of implementation.
    – Toby Speight
    1 hour ago











  • ...*mostly* alike; builtins can change the state of the shell itself, whereas external programs can't call chdir() or setenv() in the shell that is, to them, a distinct parent process.
    – Charles Duffy
    12 mins ago

















up vote
1
down vote














I would like to know whether the commands that we call in the shell are functions or programs?




Yes.



Specifically, when you type in some text and press enter, the shell must determine whether it's:



  1. an alias,

  2. a function,

  3. a built-in command,

  4. an executable file.





share|improve this answer


















  • 1




    About 4. Figuring out if the executable is a binary program or a script is outside the scope of the calling shell. This task is handled by the kernel.
    – jlliagre
    42 mins ago










  • @jlliagre thanks. Will edit the answer.
    – RonJohn
    27 mins ago










Your Answer







StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: false,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);






Lion is a new contributor. Be nice, and check out our Code of Conduct.









 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f468764%2fwhat-is-the-difference-between-the-terms-program-command-and-function-in%23new-answer', 'question_page');

);

Post as a guest






























3 Answers
3






active

oldest

votes








3 Answers
3






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
9
down vote













It depends.



Commands can fall into multiple categories: builtins, aliases,
functions, executables (scripts and binaries in the search path).



On the command line, these occupy a single, flat namespace which
makes overriding possible. There are numerous ways of telling
kinds of programs apart:



$ f () :; 
$ alias a=cat
$ which f
f ()

:



We know that f is a function.



$ which a
alias a='cat'
/usr/bin/cat


We know that a is an alias.



$ which yes
/usr/bin/yes


We know that yes is a program.



$ builtin echo ; echo $?

0


The shell has an echo builtin …



$ builtin cat ; echo $?
bash: builtin: cat: not a shell builtin
1


… but none for cat. If there is a builtin or an alias
but you insist on calling the program instead, prefix the
command with a backslash:



$ builtin true | printf "%dn" $?
0
$ alias true=false
$ true ; printf "%dn" $?
1
$ true ; printf "%dn" $?
0





share|improve this answer
















  • 1




    Also, a command that's a program in one implementation of *nix might well become a shell builtin (= function) in another.
    – jamesqf
    2 hours ago






  • 1




    @jamesqf, yeah, shell's have standard tools built in, but builtin commands are not the same as functions. Run e.g. sh -c 'type true; f() echo x; ; type f'
    – ilkkachu
    46 mins ago










  • Note that in general, type is preferable to which for almost all purposes. See unix.stackexchange.com/q/85249/135943
    – Wildcard
    3 mins ago














up vote
9
down vote













It depends.



Commands can fall into multiple categories: builtins, aliases,
functions, executables (scripts and binaries in the search path).



On the command line, these occupy a single, flat namespace which
makes overriding possible. There are numerous ways of telling
kinds of programs apart:



$ f () :; 
$ alias a=cat
$ which f
f ()

:



We know that f is a function.



$ which a
alias a='cat'
/usr/bin/cat


We know that a is an alias.



$ which yes
/usr/bin/yes


We know that yes is a program.



$ builtin echo ; echo $?

0


The shell has an echo builtin …



$ builtin cat ; echo $?
bash: builtin: cat: not a shell builtin
1


… but none for cat. If there is a builtin or an alias
but you insist on calling the program instead, prefix the
command with a backslash:



$ builtin true | printf "%dn" $?
0
$ alias true=false
$ true ; printf "%dn" $?
1
$ true ; printf "%dn" $?
0





share|improve this answer
















  • 1




    Also, a command that's a program in one implementation of *nix might well become a shell builtin (= function) in another.
    – jamesqf
    2 hours ago






  • 1




    @jamesqf, yeah, shell's have standard tools built in, but builtin commands are not the same as functions. Run e.g. sh -c 'type true; f() echo x; ; type f'
    – ilkkachu
    46 mins ago










  • Note that in general, type is preferable to which for almost all purposes. See unix.stackexchange.com/q/85249/135943
    – Wildcard
    3 mins ago












up vote
9
down vote










up vote
9
down vote









It depends.



Commands can fall into multiple categories: builtins, aliases,
functions, executables (scripts and binaries in the search path).



On the command line, these occupy a single, flat namespace which
makes overriding possible. There are numerous ways of telling
kinds of programs apart:



$ f () :; 
$ alias a=cat
$ which f
f ()

:



We know that f is a function.



$ which a
alias a='cat'
/usr/bin/cat


We know that a is an alias.



$ which yes
/usr/bin/yes


We know that yes is a program.



$ builtin echo ; echo $?

0


The shell has an echo builtin …



$ builtin cat ; echo $?
bash: builtin: cat: not a shell builtin
1


… but none for cat. If there is a builtin or an alias
but you insist on calling the program instead, prefix the
command with a backslash:



$ builtin true | printf "%dn" $?
0
$ alias true=false
$ true ; printf "%dn" $?
1
$ true ; printf "%dn" $?
0





share|improve this answer












It depends.



Commands can fall into multiple categories: builtins, aliases,
functions, executables (scripts and binaries in the search path).



On the command line, these occupy a single, flat namespace which
makes overriding possible. There are numerous ways of telling
kinds of programs apart:



$ f () :; 
$ alias a=cat
$ which f
f ()

:



We know that f is a function.



$ which a
alias a='cat'
/usr/bin/cat


We know that a is an alias.



$ which yes
/usr/bin/yes


We know that yes is a program.



$ builtin echo ; echo $?

0


The shell has an echo builtin …



$ builtin cat ; echo $?
bash: builtin: cat: not a shell builtin
1


… but none for cat. If there is a builtin or an alias
but you insist on calling the program instead, prefix the
command with a backslash:



$ builtin true | printf "%dn" $?
0
$ alias true=false
$ true ; printf "%dn" $?
1
$ true ; printf "%dn" $?
0






share|improve this answer












share|improve this answer



share|improve this answer










answered 6 hours ago









phg

557415




557415







  • 1




    Also, a command that's a program in one implementation of *nix might well become a shell builtin (= function) in another.
    – jamesqf
    2 hours ago






  • 1




    @jamesqf, yeah, shell's have standard tools built in, but builtin commands are not the same as functions. Run e.g. sh -c 'type true; f() echo x; ; type f'
    – ilkkachu
    46 mins ago










  • Note that in general, type is preferable to which for almost all purposes. See unix.stackexchange.com/q/85249/135943
    – Wildcard
    3 mins ago












  • 1




    Also, a command that's a program in one implementation of *nix might well become a shell builtin (= function) in another.
    – jamesqf
    2 hours ago






  • 1




    @jamesqf, yeah, shell's have standard tools built in, but builtin commands are not the same as functions. Run e.g. sh -c 'type true; f() echo x; ; type f'
    – ilkkachu
    46 mins ago










  • Note that in general, type is preferable to which for almost all purposes. See unix.stackexchange.com/q/85249/135943
    – Wildcard
    3 mins ago







1




1




Also, a command that's a program in one implementation of *nix might well become a shell builtin (= function) in another.
– jamesqf
2 hours ago




Also, a command that's a program in one implementation of *nix might well become a shell builtin (= function) in another.
– jamesqf
2 hours ago




1




1




@jamesqf, yeah, shell's have standard tools built in, but builtin commands are not the same as functions. Run e.g. sh -c 'type true; f() echo x; ; type f'
– ilkkachu
46 mins ago




@jamesqf, yeah, shell's have standard tools built in, but builtin commands are not the same as functions. Run e.g. sh -c 'type true; f() echo x; ; type f'
– ilkkachu
46 mins ago












Note that in general, type is preferable to which for almost all purposes. See unix.stackexchange.com/q/85249/135943
– Wildcard
3 mins ago




Note that in general, type is preferable to which for almost all purposes. See unix.stackexchange.com/q/85249/135943
– Wildcard
3 mins ago












up vote
6
down vote













The definition of a function is returning single values, and does not output anything. Shell functions in particular may very well and could have an output or other side effects, since the return value of functions is so limited.



A command is an instruction given by a user to tell a computer to do something, for example, executing a single program or a group of linked programs.



A program is a sequence of instructions (i.e. commands) that are given to a computer and understandable by the computer's central processing unit (CPU). these instructions indicates which operations the computer should perform on a set of data.



Having said that, functions are logical subset of the program. Calling one is entirely within your process. The command is a program (or a shell built-in) can be executed from the command shell. The command implements functions which perform a task. The opposite is not correct.






share|improve this answer


















  • 5




    "a function returns a single value, and does not output anything" -- well, yeah, in the mathematical sense maybe. But in imperative programming languages, it's really common for "function" to mean just a subroutine, one that could do anything. And shell functions in particular may very well have output or other side effects, since the return value of functions is so limited.
    – ilkkachu
    6 hours ago










  • @ilkkachu. Thank you. I have updated the answer. Please feel free to revise ;-)
    – Goro
    6 hours ago






  • 2




    I think these definitions are from a programming-language context, not a shell context. Yes, I know the shell language is a programming language, but its idea of a "function" is quite different to the mathematical or computer-science definition - in shell, all commands (whether builtins, functions, aliases, programs or scripts) act alike, and are simply different kinds of implementation.
    – Toby Speight
    1 hour ago











  • ...*mostly* alike; builtins can change the state of the shell itself, whereas external programs can't call chdir() or setenv() in the shell that is, to them, a distinct parent process.
    – Charles Duffy
    12 mins ago














up vote
6
down vote













The definition of a function is returning single values, and does not output anything. Shell functions in particular may very well and could have an output or other side effects, since the return value of functions is so limited.



A command is an instruction given by a user to tell a computer to do something, for example, executing a single program or a group of linked programs.



A program is a sequence of instructions (i.e. commands) that are given to a computer and understandable by the computer's central processing unit (CPU). these instructions indicates which operations the computer should perform on a set of data.



Having said that, functions are logical subset of the program. Calling one is entirely within your process. The command is a program (or a shell built-in) can be executed from the command shell. The command implements functions which perform a task. The opposite is not correct.






share|improve this answer


















  • 5




    "a function returns a single value, and does not output anything" -- well, yeah, in the mathematical sense maybe. But in imperative programming languages, it's really common for "function" to mean just a subroutine, one that could do anything. And shell functions in particular may very well have output or other side effects, since the return value of functions is so limited.
    – ilkkachu
    6 hours ago










  • @ilkkachu. Thank you. I have updated the answer. Please feel free to revise ;-)
    – Goro
    6 hours ago






  • 2




    I think these definitions are from a programming-language context, not a shell context. Yes, I know the shell language is a programming language, but its idea of a "function" is quite different to the mathematical or computer-science definition - in shell, all commands (whether builtins, functions, aliases, programs or scripts) act alike, and are simply different kinds of implementation.
    – Toby Speight
    1 hour ago











  • ...*mostly* alike; builtins can change the state of the shell itself, whereas external programs can't call chdir() or setenv() in the shell that is, to them, a distinct parent process.
    – Charles Duffy
    12 mins ago












up vote
6
down vote










up vote
6
down vote









The definition of a function is returning single values, and does not output anything. Shell functions in particular may very well and could have an output or other side effects, since the return value of functions is so limited.



A command is an instruction given by a user to tell a computer to do something, for example, executing a single program or a group of linked programs.



A program is a sequence of instructions (i.e. commands) that are given to a computer and understandable by the computer's central processing unit (CPU). these instructions indicates which operations the computer should perform on a set of data.



Having said that, functions are logical subset of the program. Calling one is entirely within your process. The command is a program (or a shell built-in) can be executed from the command shell. The command implements functions which perform a task. The opposite is not correct.






share|improve this answer














The definition of a function is returning single values, and does not output anything. Shell functions in particular may very well and could have an output or other side effects, since the return value of functions is so limited.



A command is an instruction given by a user to tell a computer to do something, for example, executing a single program or a group of linked programs.



A program is a sequence of instructions (i.e. commands) that are given to a computer and understandable by the computer's central processing unit (CPU). these instructions indicates which operations the computer should perform on a set of data.



Having said that, functions are logical subset of the program. Calling one is entirely within your process. The command is a program (or a shell built-in) can be executed from the command shell. The command implements functions which perform a task. The opposite is not correct.







share|improve this answer














share|improve this answer



share|improve this answer








edited 1 hour ago

























answered 6 hours ago









Goro

1,68541644




1,68541644







  • 5




    "a function returns a single value, and does not output anything" -- well, yeah, in the mathematical sense maybe. But in imperative programming languages, it's really common for "function" to mean just a subroutine, one that could do anything. And shell functions in particular may very well have output or other side effects, since the return value of functions is so limited.
    – ilkkachu
    6 hours ago










  • @ilkkachu. Thank you. I have updated the answer. Please feel free to revise ;-)
    – Goro
    6 hours ago






  • 2




    I think these definitions are from a programming-language context, not a shell context. Yes, I know the shell language is a programming language, but its idea of a "function" is quite different to the mathematical or computer-science definition - in shell, all commands (whether builtins, functions, aliases, programs or scripts) act alike, and are simply different kinds of implementation.
    – Toby Speight
    1 hour ago











  • ...*mostly* alike; builtins can change the state of the shell itself, whereas external programs can't call chdir() or setenv() in the shell that is, to them, a distinct parent process.
    – Charles Duffy
    12 mins ago












  • 5




    "a function returns a single value, and does not output anything" -- well, yeah, in the mathematical sense maybe. But in imperative programming languages, it's really common for "function" to mean just a subroutine, one that could do anything. And shell functions in particular may very well have output or other side effects, since the return value of functions is so limited.
    – ilkkachu
    6 hours ago










  • @ilkkachu. Thank you. I have updated the answer. Please feel free to revise ;-)
    – Goro
    6 hours ago






  • 2




    I think these definitions are from a programming-language context, not a shell context. Yes, I know the shell language is a programming language, but its idea of a "function" is quite different to the mathematical or computer-science definition - in shell, all commands (whether builtins, functions, aliases, programs or scripts) act alike, and are simply different kinds of implementation.
    – Toby Speight
    1 hour ago











  • ...*mostly* alike; builtins can change the state of the shell itself, whereas external programs can't call chdir() or setenv() in the shell that is, to them, a distinct parent process.
    – Charles Duffy
    12 mins ago







5




5




"a function returns a single value, and does not output anything" -- well, yeah, in the mathematical sense maybe. But in imperative programming languages, it's really common for "function" to mean just a subroutine, one that could do anything. And shell functions in particular may very well have output or other side effects, since the return value of functions is so limited.
– ilkkachu
6 hours ago




"a function returns a single value, and does not output anything" -- well, yeah, in the mathematical sense maybe. But in imperative programming languages, it's really common for "function" to mean just a subroutine, one that could do anything. And shell functions in particular may very well have output or other side effects, since the return value of functions is so limited.
– ilkkachu
6 hours ago












@ilkkachu. Thank you. I have updated the answer. Please feel free to revise ;-)
– Goro
6 hours ago




@ilkkachu. Thank you. I have updated the answer. Please feel free to revise ;-)
– Goro
6 hours ago




2




2




I think these definitions are from a programming-language context, not a shell context. Yes, I know the shell language is a programming language, but its idea of a "function" is quite different to the mathematical or computer-science definition - in shell, all commands (whether builtins, functions, aliases, programs or scripts) act alike, and are simply different kinds of implementation.
– Toby Speight
1 hour ago





I think these definitions are from a programming-language context, not a shell context. Yes, I know the shell language is a programming language, but its idea of a "function" is quite different to the mathematical or computer-science definition - in shell, all commands (whether builtins, functions, aliases, programs or scripts) act alike, and are simply different kinds of implementation.
– Toby Speight
1 hour ago













...*mostly* alike; builtins can change the state of the shell itself, whereas external programs can't call chdir() or setenv() in the shell that is, to them, a distinct parent process.
– Charles Duffy
12 mins ago




...*mostly* alike; builtins can change the state of the shell itself, whereas external programs can't call chdir() or setenv() in the shell that is, to them, a distinct parent process.
– Charles Duffy
12 mins ago










up vote
1
down vote














I would like to know whether the commands that we call in the shell are functions or programs?




Yes.



Specifically, when you type in some text and press enter, the shell must determine whether it's:



  1. an alias,

  2. a function,

  3. a built-in command,

  4. an executable file.





share|improve this answer


















  • 1




    About 4. Figuring out if the executable is a binary program or a script is outside the scope of the calling shell. This task is handled by the kernel.
    – jlliagre
    42 mins ago










  • @jlliagre thanks. Will edit the answer.
    – RonJohn
    27 mins ago














up vote
1
down vote














I would like to know whether the commands that we call in the shell are functions or programs?




Yes.



Specifically, when you type in some text and press enter, the shell must determine whether it's:



  1. an alias,

  2. a function,

  3. a built-in command,

  4. an executable file.





share|improve this answer


















  • 1




    About 4. Figuring out if the executable is a binary program or a script is outside the scope of the calling shell. This task is handled by the kernel.
    – jlliagre
    42 mins ago










  • @jlliagre thanks. Will edit the answer.
    – RonJohn
    27 mins ago












up vote
1
down vote










up vote
1
down vote










I would like to know whether the commands that we call in the shell are functions or programs?




Yes.



Specifically, when you type in some text and press enter, the shell must determine whether it's:



  1. an alias,

  2. a function,

  3. a built-in command,

  4. an executable file.





share|improve this answer















I would like to know whether the commands that we call in the shell are functions or programs?




Yes.



Specifically, when you type in some text and press enter, the shell must determine whether it's:



  1. an alias,

  2. a function,

  3. a built-in command,

  4. an executable file.






share|improve this answer














share|improve this answer



share|improve this answer








edited 27 mins ago

























answered 1 hour ago









RonJohn

495213




495213







  • 1




    About 4. Figuring out if the executable is a binary program or a script is outside the scope of the calling shell. This task is handled by the kernel.
    – jlliagre
    42 mins ago










  • @jlliagre thanks. Will edit the answer.
    – RonJohn
    27 mins ago












  • 1




    About 4. Figuring out if the executable is a binary program or a script is outside the scope of the calling shell. This task is handled by the kernel.
    – jlliagre
    42 mins ago










  • @jlliagre thanks. Will edit the answer.
    – RonJohn
    27 mins ago







1




1




About 4. Figuring out if the executable is a binary program or a script is outside the scope of the calling shell. This task is handled by the kernel.
– jlliagre
42 mins ago




About 4. Figuring out if the executable is a binary program or a script is outside the scope of the calling shell. This task is handled by the kernel.
– jlliagre
42 mins ago












@jlliagre thanks. Will edit the answer.
– RonJohn
27 mins ago




@jlliagre thanks. Will edit the answer.
– RonJohn
27 mins ago










Lion is a new contributor. Be nice, and check out our Code of Conduct.









 

draft saved


draft discarded


















Lion is a new contributor. Be nice, and check out our Code of Conduct.












Lion is a new contributor. Be nice, and check out our Code of Conduct.











Lion is a new contributor. Be nice, and check out our Code of Conduct.













 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f468764%2fwhat-is-the-difference-between-the-terms-program-command-and-function-in%23new-answer', 'question_page');

);

Post as a guest













































































Comments

Popular posts from this blog

Long meetings (6-7 hours a day): Being “babysat” by supervisor

What does second last employer means? [closed]

One-line joke