Ubuntu shell scripting [duplicate]





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







3
















This question already has an answer here:




  • What is the difference between #!/bin/sh and #!/bin/bash?

    4 answers




What is the difference between different shells in Ubuntu:



$ cat /etc/shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash









share|improve this question















marked as duplicate by WinEunuuchs2Unix, heemayl, N0rbert, Sergiy Kolodyazhnyy bash
Users with the  bash badge can single-handedly close bash questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Mar 30 at 19:05


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.



















  • Please see the linked duplicate, let us know if anything else is unclear.

    – Sergiy Kolodyazhnyy
    Mar 30 at 19:06


















3
















This question already has an answer here:




  • What is the difference between #!/bin/sh and #!/bin/bash?

    4 answers




What is the difference between different shells in Ubuntu:



$ cat /etc/shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash









share|improve this question















marked as duplicate by WinEunuuchs2Unix, heemayl, N0rbert, Sergiy Kolodyazhnyy bash
Users with the  bash badge can single-handedly close bash questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Mar 30 at 19:05


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.



















  • Please see the linked duplicate, let us know if anything else is unclear.

    – Sergiy Kolodyazhnyy
    Mar 30 at 19:06














3












3








3


1







This question already has an answer here:




  • What is the difference between #!/bin/sh and #!/bin/bash?

    4 answers




What is the difference between different shells in Ubuntu:



$ cat /etc/shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash









share|improve this question

















This question already has an answer here:




  • What is the difference between #!/bin/sh and #!/bin/bash?

    4 answers




What is the difference between different shells in Ubuntu:



$ cat /etc/shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash




This question already has an answer here:




  • What is the difference between #!/bin/sh and #!/bin/bash?

    4 answers








bash sh dash-shell






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 30 at 19:03









Volker Siegel

9,21043550




9,21043550










asked Mar 30 at 11:40









Abhijeet SinghAbhijeet Singh

191




191




marked as duplicate by WinEunuuchs2Unix, heemayl, N0rbert, Sergiy Kolodyazhnyy bash
Users with the  bash badge can single-handedly close bash questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Mar 30 at 19:05


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.









marked as duplicate by WinEunuuchs2Unix, heemayl, N0rbert, Sergiy Kolodyazhnyy bash
Users with the  bash badge can single-handedly close bash questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Mar 30 at 19:05


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.















  • Please see the linked duplicate, let us know if anything else is unclear.

    – Sergiy Kolodyazhnyy
    Mar 30 at 19:06



















  • Please see the linked duplicate, let us know if anything else is unclear.

    – Sergiy Kolodyazhnyy
    Mar 30 at 19:06

















Please see the linked duplicate, let us know if anything else is unclear.

– Sergiy Kolodyazhnyy
Mar 30 at 19:06





Please see the linked duplicate, let us know if anything else is unclear.

– Sergiy Kolodyazhnyy
Mar 30 at 19:06










1 Answer
1






active

oldest

votes


















5















Bash



Bash is the GNU Project's shell. Bash is the Bourne Again SHell. Bash
is an sh-compatible shell that incorporates useful features from the
Korn shell (ksh) and C shell (csh). It is intended to conform to the
IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers
functional improvements over sh for both programming and interactive
use. In addition, most sh scripts can be run by Bash without
modification.



The improvements offered by Bash include:



Command line editing
Unlimited size command history
Job Control
Shell Functions and Aliases
Indexed arrays of unlimited size
Integer arithmetic in any base from two to sixty-four.



Source:1




Dash



Dash is an acronym for Debian Almquist shell (dash). It is a Unix and
Linux shell which is much smaller than bash but still aiming at
POSIX-compliancy. dash is a POSIX-compliant implementation of /bin/sh
that aims to be as small as possible. dash is a direct descendant of
the NetBSD version of ash (the Almquist SHell), ported to Linux in
early 1997. It was renamed to dash in 2002.



dash is the standard command interpreter for the Linux system. The
current version of dash is in the process of being changed to conform
with the POSIX 1003.2 and 1003.2a specifications for the shell. This
version has many features which make it appear similar in some
respects to the Korn shell, but it is not a Korn shell clone. Only
features designated by POSIX, plus a few Berkeley extensions, are
being incorporated into this shell.




Source:2




RBash



If Bash is started with the name rbash, or the --restricted or -r
option is supplied at invocation, the shell becomes restricted. A
restricted shell is used to set up an environment more controlled than
the standard shell. A restricted shell behaves identically to bash
with the exception that the following are disallowed or not performed:



Changing directories with the cd builtin.
Setting or unsetting the values of the SHELL, PATH, ENV, or BASH_ENV variables.
Specifying command names containing slashes.
Specifying a filename containing a slash as an argument to the . builtin command.
Specifying a filename containing a slash as an argument to the -p option to the hash builtin command.
Importing function definitions from the shell environment at startup.
Parsing the value of SHELLOPTS from the shell environment at startup.
Redirecting output using the ‘>’, ‘>|’, ‘<>’, ‘>&’, ‘&>’, and ‘>>’ redirection operators.
Using the exec builtin to replace the shell with another command.
Adding or deleting builtin commands with the -f and -d options to the enable builtin.
Using the enable builtin command to enable disabled shell builtins.
Specifying the -p option to the command builtin.
Turning off restricted mode with ‘set +r’ or ‘set +o restricted’.


These restrictions are enforced after any startup files are read.



When a command that is found to be a shell script is executed (see
Shell Scripts), rbash turns off any restrictions in the shell spawned
to execute the script.




Source:3




sh



sh is the command name of the Bourne shell, the standard command
language interpreter of Unix and many Unix-like operating systems,
including Linux. sh is a command language interpreter that executes
commands read from a command line string, the standard input, or a
specified file.



The Bourne shell was developed in 1977 by Stephen Bourne at AT&T's
Bell Labs in 1977. It was the default shell of Unix Version 7. Most
Unix-like systems contain the file /bin/sh that is either the Bourne
shell, or a symbolic link (or hard link) to a compatible shell.




Source:4






share|improve this answer
























  • Current posix versions call sh the standard shell, sometimes also called POSIX Shell, “Bourne Shell” is of historic interest only.

    – eckes
    Mar 30 at 16:08


















1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









5















Bash



Bash is the GNU Project's shell. Bash is the Bourne Again SHell. Bash
is an sh-compatible shell that incorporates useful features from the
Korn shell (ksh) and C shell (csh). It is intended to conform to the
IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers
functional improvements over sh for both programming and interactive
use. In addition, most sh scripts can be run by Bash without
modification.



The improvements offered by Bash include:



Command line editing
Unlimited size command history
Job Control
Shell Functions and Aliases
Indexed arrays of unlimited size
Integer arithmetic in any base from two to sixty-four.



Source:1




Dash



Dash is an acronym for Debian Almquist shell (dash). It is a Unix and
Linux shell which is much smaller than bash but still aiming at
POSIX-compliancy. dash is a POSIX-compliant implementation of /bin/sh
that aims to be as small as possible. dash is a direct descendant of
the NetBSD version of ash (the Almquist SHell), ported to Linux in
early 1997. It was renamed to dash in 2002.



dash is the standard command interpreter for the Linux system. The
current version of dash is in the process of being changed to conform
with the POSIX 1003.2 and 1003.2a specifications for the shell. This
version has many features which make it appear similar in some
respects to the Korn shell, but it is not a Korn shell clone. Only
features designated by POSIX, plus a few Berkeley extensions, are
being incorporated into this shell.




Source:2




RBash



If Bash is started with the name rbash, or the --restricted or -r
option is supplied at invocation, the shell becomes restricted. A
restricted shell is used to set up an environment more controlled than
the standard shell. A restricted shell behaves identically to bash
with the exception that the following are disallowed or not performed:



Changing directories with the cd builtin.
Setting or unsetting the values of the SHELL, PATH, ENV, or BASH_ENV variables.
Specifying command names containing slashes.
Specifying a filename containing a slash as an argument to the . builtin command.
Specifying a filename containing a slash as an argument to the -p option to the hash builtin command.
Importing function definitions from the shell environment at startup.
Parsing the value of SHELLOPTS from the shell environment at startup.
Redirecting output using the ‘>’, ‘>|’, ‘<>’, ‘>&’, ‘&>’, and ‘>>’ redirection operators.
Using the exec builtin to replace the shell with another command.
Adding or deleting builtin commands with the -f and -d options to the enable builtin.
Using the enable builtin command to enable disabled shell builtins.
Specifying the -p option to the command builtin.
Turning off restricted mode with ‘set +r’ or ‘set +o restricted’.


These restrictions are enforced after any startup files are read.



When a command that is found to be a shell script is executed (see
Shell Scripts), rbash turns off any restrictions in the shell spawned
to execute the script.




Source:3




sh



sh is the command name of the Bourne shell, the standard command
language interpreter of Unix and many Unix-like operating systems,
including Linux. sh is a command language interpreter that executes
commands read from a command line string, the standard input, or a
specified file.



The Bourne shell was developed in 1977 by Stephen Bourne at AT&T's
Bell Labs in 1977. It was the default shell of Unix Version 7. Most
Unix-like systems contain the file /bin/sh that is either the Bourne
shell, or a symbolic link (or hard link) to a compatible shell.




Source:4






share|improve this answer
























  • Current posix versions call sh the standard shell, sometimes also called POSIX Shell, “Bourne Shell” is of historic interest only.

    – eckes
    Mar 30 at 16:08
















5















Bash



Bash is the GNU Project's shell. Bash is the Bourne Again SHell. Bash
is an sh-compatible shell that incorporates useful features from the
Korn shell (ksh) and C shell (csh). It is intended to conform to the
IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers
functional improvements over sh for both programming and interactive
use. In addition, most sh scripts can be run by Bash without
modification.



The improvements offered by Bash include:



Command line editing
Unlimited size command history
Job Control
Shell Functions and Aliases
Indexed arrays of unlimited size
Integer arithmetic in any base from two to sixty-four.



Source:1




Dash



Dash is an acronym for Debian Almquist shell (dash). It is a Unix and
Linux shell which is much smaller than bash but still aiming at
POSIX-compliancy. dash is a POSIX-compliant implementation of /bin/sh
that aims to be as small as possible. dash is a direct descendant of
the NetBSD version of ash (the Almquist SHell), ported to Linux in
early 1997. It was renamed to dash in 2002.



dash is the standard command interpreter for the Linux system. The
current version of dash is in the process of being changed to conform
with the POSIX 1003.2 and 1003.2a specifications for the shell. This
version has many features which make it appear similar in some
respects to the Korn shell, but it is not a Korn shell clone. Only
features designated by POSIX, plus a few Berkeley extensions, are
being incorporated into this shell.




Source:2




RBash



If Bash is started with the name rbash, or the --restricted or -r
option is supplied at invocation, the shell becomes restricted. A
restricted shell is used to set up an environment more controlled than
the standard shell. A restricted shell behaves identically to bash
with the exception that the following are disallowed or not performed:



Changing directories with the cd builtin.
Setting or unsetting the values of the SHELL, PATH, ENV, or BASH_ENV variables.
Specifying command names containing slashes.
Specifying a filename containing a slash as an argument to the . builtin command.
Specifying a filename containing a slash as an argument to the -p option to the hash builtin command.
Importing function definitions from the shell environment at startup.
Parsing the value of SHELLOPTS from the shell environment at startup.
Redirecting output using the ‘>’, ‘>|’, ‘<>’, ‘>&’, ‘&>’, and ‘>>’ redirection operators.
Using the exec builtin to replace the shell with another command.
Adding or deleting builtin commands with the -f and -d options to the enable builtin.
Using the enable builtin command to enable disabled shell builtins.
Specifying the -p option to the command builtin.
Turning off restricted mode with ‘set +r’ or ‘set +o restricted’.


These restrictions are enforced after any startup files are read.



When a command that is found to be a shell script is executed (see
Shell Scripts), rbash turns off any restrictions in the shell spawned
to execute the script.




Source:3




sh



sh is the command name of the Bourne shell, the standard command
language interpreter of Unix and many Unix-like operating systems,
including Linux. sh is a command language interpreter that executes
commands read from a command line string, the standard input, or a
specified file.



The Bourne shell was developed in 1977 by Stephen Bourne at AT&T's
Bell Labs in 1977. It was the default shell of Unix Version 7. Most
Unix-like systems contain the file /bin/sh that is either the Bourne
shell, or a symbolic link (or hard link) to a compatible shell.




Source:4






share|improve this answer
























  • Current posix versions call sh the standard shell, sometimes also called POSIX Shell, “Bourne Shell” is of historic interest only.

    – eckes
    Mar 30 at 16:08














5












5








5








Bash



Bash is the GNU Project's shell. Bash is the Bourne Again SHell. Bash
is an sh-compatible shell that incorporates useful features from the
Korn shell (ksh) and C shell (csh). It is intended to conform to the
IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers
functional improvements over sh for both programming and interactive
use. In addition, most sh scripts can be run by Bash without
modification.



The improvements offered by Bash include:



Command line editing
Unlimited size command history
Job Control
Shell Functions and Aliases
Indexed arrays of unlimited size
Integer arithmetic in any base from two to sixty-four.



Source:1




Dash



Dash is an acronym for Debian Almquist shell (dash). It is a Unix and
Linux shell which is much smaller than bash but still aiming at
POSIX-compliancy. dash is a POSIX-compliant implementation of /bin/sh
that aims to be as small as possible. dash is a direct descendant of
the NetBSD version of ash (the Almquist SHell), ported to Linux in
early 1997. It was renamed to dash in 2002.



dash is the standard command interpreter for the Linux system. The
current version of dash is in the process of being changed to conform
with the POSIX 1003.2 and 1003.2a specifications for the shell. This
version has many features which make it appear similar in some
respects to the Korn shell, but it is not a Korn shell clone. Only
features designated by POSIX, plus a few Berkeley extensions, are
being incorporated into this shell.




Source:2




RBash



If Bash is started with the name rbash, or the --restricted or -r
option is supplied at invocation, the shell becomes restricted. A
restricted shell is used to set up an environment more controlled than
the standard shell. A restricted shell behaves identically to bash
with the exception that the following are disallowed or not performed:



Changing directories with the cd builtin.
Setting or unsetting the values of the SHELL, PATH, ENV, or BASH_ENV variables.
Specifying command names containing slashes.
Specifying a filename containing a slash as an argument to the . builtin command.
Specifying a filename containing a slash as an argument to the -p option to the hash builtin command.
Importing function definitions from the shell environment at startup.
Parsing the value of SHELLOPTS from the shell environment at startup.
Redirecting output using the ‘>’, ‘>|’, ‘<>’, ‘>&’, ‘&>’, and ‘>>’ redirection operators.
Using the exec builtin to replace the shell with another command.
Adding or deleting builtin commands with the -f and -d options to the enable builtin.
Using the enable builtin command to enable disabled shell builtins.
Specifying the -p option to the command builtin.
Turning off restricted mode with ‘set +r’ or ‘set +o restricted’.


These restrictions are enforced after any startup files are read.



When a command that is found to be a shell script is executed (see
Shell Scripts), rbash turns off any restrictions in the shell spawned
to execute the script.




Source:3




sh



sh is the command name of the Bourne shell, the standard command
language interpreter of Unix and many Unix-like operating systems,
including Linux. sh is a command language interpreter that executes
commands read from a command line string, the standard input, or a
specified file.



The Bourne shell was developed in 1977 by Stephen Bourne at AT&T's
Bell Labs in 1977. It was the default shell of Unix Version 7. Most
Unix-like systems contain the file /bin/sh that is either the Bourne
shell, or a symbolic link (or hard link) to a compatible shell.




Source:4






share|improve this answer














Bash



Bash is the GNU Project's shell. Bash is the Bourne Again SHell. Bash
is an sh-compatible shell that incorporates useful features from the
Korn shell (ksh) and C shell (csh). It is intended to conform to the
IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers
functional improvements over sh for both programming and interactive
use. In addition, most sh scripts can be run by Bash without
modification.



The improvements offered by Bash include:



Command line editing
Unlimited size command history
Job Control
Shell Functions and Aliases
Indexed arrays of unlimited size
Integer arithmetic in any base from two to sixty-four.



Source:1




Dash



Dash is an acronym for Debian Almquist shell (dash). It is a Unix and
Linux shell which is much smaller than bash but still aiming at
POSIX-compliancy. dash is a POSIX-compliant implementation of /bin/sh
that aims to be as small as possible. dash is a direct descendant of
the NetBSD version of ash (the Almquist SHell), ported to Linux in
early 1997. It was renamed to dash in 2002.



dash is the standard command interpreter for the Linux system. The
current version of dash is in the process of being changed to conform
with the POSIX 1003.2 and 1003.2a specifications for the shell. This
version has many features which make it appear similar in some
respects to the Korn shell, but it is not a Korn shell clone. Only
features designated by POSIX, plus a few Berkeley extensions, are
being incorporated into this shell.




Source:2




RBash



If Bash is started with the name rbash, or the --restricted or -r
option is supplied at invocation, the shell becomes restricted. A
restricted shell is used to set up an environment more controlled than
the standard shell. A restricted shell behaves identically to bash
with the exception that the following are disallowed or not performed:



Changing directories with the cd builtin.
Setting or unsetting the values of the SHELL, PATH, ENV, or BASH_ENV variables.
Specifying command names containing slashes.
Specifying a filename containing a slash as an argument to the . builtin command.
Specifying a filename containing a slash as an argument to the -p option to the hash builtin command.
Importing function definitions from the shell environment at startup.
Parsing the value of SHELLOPTS from the shell environment at startup.
Redirecting output using the ‘>’, ‘>|’, ‘<>’, ‘>&’, ‘&>’, and ‘>>’ redirection operators.
Using the exec builtin to replace the shell with another command.
Adding or deleting builtin commands with the -f and -d options to the enable builtin.
Using the enable builtin command to enable disabled shell builtins.
Specifying the -p option to the command builtin.
Turning off restricted mode with ‘set +r’ or ‘set +o restricted’.


These restrictions are enforced after any startup files are read.



When a command that is found to be a shell script is executed (see
Shell Scripts), rbash turns off any restrictions in the shell spawned
to execute the script.




Source:3




sh



sh is the command name of the Bourne shell, the standard command
language interpreter of Unix and many Unix-like operating systems,
including Linux. sh is a command language interpreter that executes
commands read from a command line string, the standard input, or a
specified file.



The Bourne shell was developed in 1977 by Stephen Bourne at AT&T's
Bell Labs in 1977. It was the default shell of Unix Version 7. Most
Unix-like systems contain the file /bin/sh that is either the Bourne
shell, or a symbolic link (or hard link) to a compatible shell.




Source:4







share|improve this answer












share|improve this answer



share|improve this answer










answered Mar 30 at 12:17









MitchMitch

85.7k14174232




85.7k14174232













  • Current posix versions call sh the standard shell, sometimes also called POSIX Shell, “Bourne Shell” is of historic interest only.

    – eckes
    Mar 30 at 16:08



















  • Current posix versions call sh the standard shell, sometimes also called POSIX Shell, “Bourne Shell” is of historic interest only.

    – eckes
    Mar 30 at 16:08

















Current posix versions call sh the standard shell, sometimes also called POSIX Shell, “Bourne Shell” is of historic interest only.

– eckes
Mar 30 at 16:08





Current posix versions call sh the standard shell, sometimes also called POSIX Shell, “Bourne Shell” is of historic interest only.

– eckes
Mar 30 at 16:08



Popular posts from this blog

"Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

Alcedinidae

Origin of the phrase “under your belt”?