Does .bashrc contain syntax errors?
In the Ubuntu 18.04 LT .bashrc file there is the following:
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
Isn't xterm-color) an instance of unbalanced parentheses? And why does the line end with two semicolons?
To be clear, this is not something I wrote. It's in the virgin file, not edited by me.
If there are syntax errors, to whom should I report this?
linux ubuntu bash bashrc
add a comment |
In the Ubuntu 18.04 LT .bashrc file there is the following:
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
Isn't xterm-color) an instance of unbalanced parentheses? And why does the line end with two semicolons?
To be clear, this is not something I wrote. It's in the virgin file, not edited by me.
If there are syntax errors, to whom should I report this?
linux ubuntu bash bashrc
11
There's an easy way to check if this is a syntax error: just run it, and Bash will tell you whether it is a syntax error. In fact, this will be run every time you open a terminal, so you just have to look if there is a syntax error printed every time you open the terminal.
– Jörg W Mittag
yesterday
3
if it's an error then you'll get a report every time you open a new terminal
– phuclv
yesterday
11
Prior research might have included simply looking up the syntax for switch/case in Bash, through which you would have quickly discovered that this is entirely normal.
– Lightness Races in Orbit
yesterday
4
@JörgWMittag If you don't know what a script does, running it might be a not so clever idea. Checking it withbash -n .bashrc
is probably better
– ChatterOne
21 hours ago
add a comment |
In the Ubuntu 18.04 LT .bashrc file there is the following:
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
Isn't xterm-color) an instance of unbalanced parentheses? And why does the line end with two semicolons?
To be clear, this is not something I wrote. It's in the virgin file, not edited by me.
If there are syntax errors, to whom should I report this?
linux ubuntu bash bashrc
In the Ubuntu 18.04 LT .bashrc file there is the following:
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
Isn't xterm-color) an instance of unbalanced parentheses? And why does the line end with two semicolons?
To be clear, this is not something I wrote. It's in the virgin file, not edited by me.
If there are syntax errors, to whom should I report this?
linux ubuntu bash bashrc
linux ubuntu bash bashrc
asked 2 days ago
ArgentArgent
664
664
11
There's an easy way to check if this is a syntax error: just run it, and Bash will tell you whether it is a syntax error. In fact, this will be run every time you open a terminal, so you just have to look if there is a syntax error printed every time you open the terminal.
– Jörg W Mittag
yesterday
3
if it's an error then you'll get a report every time you open a new terminal
– phuclv
yesterday
11
Prior research might have included simply looking up the syntax for switch/case in Bash, through which you would have quickly discovered that this is entirely normal.
– Lightness Races in Orbit
yesterday
4
@JörgWMittag If you don't know what a script does, running it might be a not so clever idea. Checking it withbash -n .bashrc
is probably better
– ChatterOne
21 hours ago
add a comment |
11
There's an easy way to check if this is a syntax error: just run it, and Bash will tell you whether it is a syntax error. In fact, this will be run every time you open a terminal, so you just have to look if there is a syntax error printed every time you open the terminal.
– Jörg W Mittag
yesterday
3
if it's an error then you'll get a report every time you open a new terminal
– phuclv
yesterday
11
Prior research might have included simply looking up the syntax for switch/case in Bash, through which you would have quickly discovered that this is entirely normal.
– Lightness Races in Orbit
yesterday
4
@JörgWMittag If you don't know what a script does, running it might be a not so clever idea. Checking it withbash -n .bashrc
is probably better
– ChatterOne
21 hours ago
11
11
There's an easy way to check if this is a syntax error: just run it, and Bash will tell you whether it is a syntax error. In fact, this will be run every time you open a terminal, so you just have to look if there is a syntax error printed every time you open the terminal.
– Jörg W Mittag
yesterday
There's an easy way to check if this is a syntax error: just run it, and Bash will tell you whether it is a syntax error. In fact, this will be run every time you open a terminal, so you just have to look if there is a syntax error printed every time you open the terminal.
– Jörg W Mittag
yesterday
3
3
if it's an error then you'll get a report every time you open a new terminal
– phuclv
yesterday
if it's an error then you'll get a report every time you open a new terminal
– phuclv
yesterday
11
11
Prior research might have included simply looking up the syntax for switch/case in Bash, through which you would have quickly discovered that this is entirely normal.
– Lightness Races in Orbit
yesterday
Prior research might have included simply looking up the syntax for switch/case in Bash, through which you would have quickly discovered that this is entirely normal.
– Lightness Races in Orbit
yesterday
4
4
@JörgWMittag If you don't know what a script does, running it might be a not so clever idea. Checking it with
bash -n .bashrc
is probably better– ChatterOne
21 hours ago
@JörgWMittag If you don't know what a script does, running it might be a not so clever idea. Checking it with
bash -n .bashrc
is probably better– ChatterOne
21 hours ago
add a comment |
1 Answer
1
active
oldest
votes
This is the standard, correct syntax for a bash case
statement(known abstractly as a switch statement in general programming), albeit perhaps an odd syntax when compared to C, Java, or other languages.
From The Linux Documentation Project:
Nested if statements might be nice, but as soon as you are confronted
with a couple of different possible actions to take, they tend to
confuse. For the more complex conditionals, use the case syntax:
case EXPRESSION in CASE1) COMMAND-LIST;; CASE2) COMMAND-LIST;; ... CASEN) COMMAND-LIST;; esac
(the information is also available fromhelp case
command.)
– user202729
yesterday
3
There can actually be an optional opening parenthesis in front of any of the patterns, i.e.case $var in (foo) echo something;; esac
. Bash's command line help doesn't mention that, but the online reference manual has it (Along with an examplecase
statement, too...)
– ilkkachu
yesterday
2
Not just inbash
; the POSIX shell specification allows an optional opening(
as well.
– chepner
yesterday
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
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',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1414684%2fdoes-bashrc-contain-syntax-errors%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
This is the standard, correct syntax for a bash case
statement(known abstractly as a switch statement in general programming), albeit perhaps an odd syntax when compared to C, Java, or other languages.
From The Linux Documentation Project:
Nested if statements might be nice, but as soon as you are confronted
with a couple of different possible actions to take, they tend to
confuse. For the more complex conditionals, use the case syntax:
case EXPRESSION in CASE1) COMMAND-LIST;; CASE2) COMMAND-LIST;; ... CASEN) COMMAND-LIST;; esac
(the information is also available fromhelp case
command.)
– user202729
yesterday
3
There can actually be an optional opening parenthesis in front of any of the patterns, i.e.case $var in (foo) echo something;; esac
. Bash's command line help doesn't mention that, but the online reference manual has it (Along with an examplecase
statement, too...)
– ilkkachu
yesterday
2
Not just inbash
; the POSIX shell specification allows an optional opening(
as well.
– chepner
yesterday
add a comment |
This is the standard, correct syntax for a bash case
statement(known abstractly as a switch statement in general programming), albeit perhaps an odd syntax when compared to C, Java, or other languages.
From The Linux Documentation Project:
Nested if statements might be nice, but as soon as you are confronted
with a couple of different possible actions to take, they tend to
confuse. For the more complex conditionals, use the case syntax:
case EXPRESSION in CASE1) COMMAND-LIST;; CASE2) COMMAND-LIST;; ... CASEN) COMMAND-LIST;; esac
(the information is also available fromhelp case
command.)
– user202729
yesterday
3
There can actually be an optional opening parenthesis in front of any of the patterns, i.e.case $var in (foo) echo something;; esac
. Bash's command line help doesn't mention that, but the online reference manual has it (Along with an examplecase
statement, too...)
– ilkkachu
yesterday
2
Not just inbash
; the POSIX shell specification allows an optional opening(
as well.
– chepner
yesterday
add a comment |
This is the standard, correct syntax for a bash case
statement(known abstractly as a switch statement in general programming), albeit perhaps an odd syntax when compared to C, Java, or other languages.
From The Linux Documentation Project:
Nested if statements might be nice, but as soon as you are confronted
with a couple of different possible actions to take, they tend to
confuse. For the more complex conditionals, use the case syntax:
case EXPRESSION in CASE1) COMMAND-LIST;; CASE2) COMMAND-LIST;; ... CASEN) COMMAND-LIST;; esac
This is the standard, correct syntax for a bash case
statement(known abstractly as a switch statement in general programming), albeit perhaps an odd syntax when compared to C, Java, or other languages.
From The Linux Documentation Project:
Nested if statements might be nice, but as soon as you are confronted
with a couple of different possible actions to take, they tend to
confuse. For the more complex conditionals, use the case syntax:
case EXPRESSION in CASE1) COMMAND-LIST;; CASE2) COMMAND-LIST;; ... CASEN) COMMAND-LIST;; esac
edited yesterday
answered 2 days ago
baelxbaelx
1,775817
1,775817
(the information is also available fromhelp case
command.)
– user202729
yesterday
3
There can actually be an optional opening parenthesis in front of any of the patterns, i.e.case $var in (foo) echo something;; esac
. Bash's command line help doesn't mention that, but the online reference manual has it (Along with an examplecase
statement, too...)
– ilkkachu
yesterday
2
Not just inbash
; the POSIX shell specification allows an optional opening(
as well.
– chepner
yesterday
add a comment |
(the information is also available fromhelp case
command.)
– user202729
yesterday
3
There can actually be an optional opening parenthesis in front of any of the patterns, i.e.case $var in (foo) echo something;; esac
. Bash's command line help doesn't mention that, but the online reference manual has it (Along with an examplecase
statement, too...)
– ilkkachu
yesterday
2
Not just inbash
; the POSIX shell specification allows an optional opening(
as well.
– chepner
yesterday
(the information is also available from
help case
command.)– user202729
yesterday
(the information is also available from
help case
command.)– user202729
yesterday
3
3
There can actually be an optional opening parenthesis in front of any of the patterns, i.e.
case $var in (foo) echo something;; esac
. Bash's command line help doesn't mention that, but the online reference manual has it (Along with an example case
statement, too...)– ilkkachu
yesterday
There can actually be an optional opening parenthesis in front of any of the patterns, i.e.
case $var in (foo) echo something;; esac
. Bash's command line help doesn't mention that, but the online reference manual has it (Along with an example case
statement, too...)– ilkkachu
yesterday
2
2
Not just in
bash
; the POSIX shell specification allows an optional opening (
as well.– chepner
yesterday
Not just in
bash
; the POSIX shell specification allows an optional opening (
as well.– chepner
yesterday
add a comment |
Thanks for contributing an answer to Super User!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1414684%2fdoes-bashrc-contain-syntax-errors%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
11
There's an easy way to check if this is a syntax error: just run it, and Bash will tell you whether it is a syntax error. In fact, this will be run every time you open a terminal, so you just have to look if there is a syntax error printed every time you open the terminal.
– Jörg W Mittag
yesterday
3
if it's an error then you'll get a report every time you open a new terminal
– phuclv
yesterday
11
Prior research might have included simply looking up the syntax for switch/case in Bash, through which you would have quickly discovered that this is entirely normal.
– Lightness Races in Orbit
yesterday
4
@JörgWMittag If you don't know what a script does, running it might be a not so clever idea. Checking it with
bash -n .bashrc
is probably better– ChatterOne
21 hours ago