Taking input in a script and making sure there's only one parameter
Clash Royale CLAN TAG#URR8PPP
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I'm currently working on an assignment where I have a script that is basically just getting to learn using grep with different regex's.
I have the script written except for the first part where I am asked to take a file as input and then the script runs based on that file.
I have the prompt for input, the read command after, the grep commands. Everything works fine, I just need to implement an if statement I believe that would run the script if it only has 1 parameter given.
- The assignment says that the script should only run if 1 and only 1 parameter is given otherwise it should display an error message.
Thanks,
bash scripting
add a comment |
I'm currently working on an assignment where I have a script that is basically just getting to learn using grep with different regex's.
I have the script written except for the first part where I am asked to take a file as input and then the script runs based on that file.
I have the prompt for input, the read command after, the grep commands. Everything works fine, I just need to implement an if statement I believe that would run the script if it only has 1 parameter given.
- The assignment says that the script should only run if 1 and only 1 parameter is given otherwise it should display an error message.
Thanks,
bash scripting
2
Well, here's how to How to check if there are no parameters provided to a command - see if you can modify it ;)
– steeldriver
Mar 16 at 19:36
add a comment |
I'm currently working on an assignment where I have a script that is basically just getting to learn using grep with different regex's.
I have the script written except for the first part where I am asked to take a file as input and then the script runs based on that file.
I have the prompt for input, the read command after, the grep commands. Everything works fine, I just need to implement an if statement I believe that would run the script if it only has 1 parameter given.
- The assignment says that the script should only run if 1 and only 1 parameter is given otherwise it should display an error message.
Thanks,
bash scripting
I'm currently working on an assignment where I have a script that is basically just getting to learn using grep with different regex's.
I have the script written except for the first part where I am asked to take a file as input and then the script runs based on that file.
I have the prompt for input, the read command after, the grep commands. Everything works fine, I just need to implement an if statement I believe that would run the script if it only has 1 parameter given.
- The assignment says that the script should only run if 1 and only 1 parameter is given otherwise it should display an error message.
Thanks,
bash scripting
bash scripting
asked Mar 16 at 19:33
GrappleGrapple
82
82
2
Well, here's how to How to check if there are no parameters provided to a command - see if you can modify it ;)
– steeldriver
Mar 16 at 19:36
add a comment |
2
Well, here's how to How to check if there are no parameters provided to a command - see if you can modify it ;)
– steeldriver
Mar 16 at 19:36
2
2
Well, here's how to How to check if there are no parameters provided to a command - see if you can modify it ;)
– steeldriver
Mar 16 at 19:36
Well, here's how to How to check if there are no parameters provided to a command - see if you can modify it ;)
– steeldriver
Mar 16 at 19:36
add a comment |
1 Answer
1
active
oldest
votes
Within a script $#
will expand to the number of positional parameters. We can use that to check if the correct number of options have been passed, and exit right away if not:
#!/bin/sh
if [ "$#" -ne 1 ]; then
printf 'ERROR! You must provide one and only one argument!n' >&2
exit 1
fi
Places you can read about this:
2.5.1 Positional Parameters
The if Conditional Construct
2.7.2 Redirecting Output
add a comment |
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',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
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%2funix.stackexchange.com%2fquestions%2f506719%2ftaking-input-in-a-script-and-making-sure-theres-only-one-parameter%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
Within a script $#
will expand to the number of positional parameters. We can use that to check if the correct number of options have been passed, and exit right away if not:
#!/bin/sh
if [ "$#" -ne 1 ]; then
printf 'ERROR! You must provide one and only one argument!n' >&2
exit 1
fi
Places you can read about this:
2.5.1 Positional Parameters
The if Conditional Construct
2.7.2 Redirecting Output
add a comment |
Within a script $#
will expand to the number of positional parameters. We can use that to check if the correct number of options have been passed, and exit right away if not:
#!/bin/sh
if [ "$#" -ne 1 ]; then
printf 'ERROR! You must provide one and only one argument!n' >&2
exit 1
fi
Places you can read about this:
2.5.1 Positional Parameters
The if Conditional Construct
2.7.2 Redirecting Output
add a comment |
Within a script $#
will expand to the number of positional parameters. We can use that to check if the correct number of options have been passed, and exit right away if not:
#!/bin/sh
if [ "$#" -ne 1 ]; then
printf 'ERROR! You must provide one and only one argument!n' >&2
exit 1
fi
Places you can read about this:
2.5.1 Positional Parameters
The if Conditional Construct
2.7.2 Redirecting Output
Within a script $#
will expand to the number of positional parameters. We can use that to check if the correct number of options have been passed, and exit right away if not:
#!/bin/sh
if [ "$#" -ne 1 ]; then
printf 'ERROR! You must provide one and only one argument!n' >&2
exit 1
fi
Places you can read about this:
2.5.1 Positional Parameters
The if Conditional Construct
2.7.2 Redirecting Output
edited Mar 16 at 21:31
answered Mar 16 at 19:44
Jesse_bJesse_b
14.4k33574
14.4k33574
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- 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%2funix.stackexchange.com%2fquestions%2f506719%2ftaking-input-in-a-script-and-making-sure-theres-only-one-parameter%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
2
Well, here's how to How to check if there are no parameters provided to a command - see if you can modify it ;)
– steeldriver
Mar 16 at 19:36