Checking for invalid date in bash script2019 Community Moderator Electiondate - years prior to 1901 are treated as invalidHow to use the date command to find out what date “monday week 40” will be?Date calculation in script for notification alertsbash script that reads user input and uses “cal” command to validate datesUnix date format validation scriptSet yesterday Date in script special for MondayOutputting date from an array with bashHow to save psql error message output in bash variable?Set file modification date from date stored as filenameChecking whether a date is within the next week
Should QA ask requirements to developers?
Unreachable code, but reachable with exception
Are there historical instances of the capital of a colonising country being temporarily or permanently shifted to one of its colonies?
PTIJ: How can I halachically kill a vampire?
How can The Temple of Elementary Evil reliably protect itself against kinetic bombardment?
Do items de-spawn in Diablo?
Can one live in the U.S. and not use a credit card?
Is it true that real estate prices mainly go up?
Offered promotion but I'm leaving. Should I tell?
Can someone explain what is being said here in color publishing in the American Mathematical Monthly?
What are some noteworthy "mic-drop" moments in math?
How to share a mine of irresistable resources in the middle of an ocean without conflict?
Why does the negative sign arise in this thermodynamic relation?
How do I express some one as a black person?
Why doesn't this Google Translate ad use the word "Translation" instead of "Translate"?
UART pins to unpowered MCU?
Bash script should only kill those instances of another script's that it has launched
Accepted offer letter, position changed
Is there an equal sign with wider gap?
Why is there a voltage between the mains ground and my radiator?
infinitive telling the purpose
How much damage does the AC boost from a shield prevent on average?
How much stiffer are 23c tires over 28c?
Why is this plane circling around the LKO airport every day?
Checking for invalid date in bash script
2019 Community Moderator Electiondate - years prior to 1901 are treated as invalidHow to use the date command to find out what date “monday week 40” will be?Date calculation in script for notification alertsbash script that reads user input and uses “cal” command to validate datesUnix date format validation scriptSet yesterday Date in script special for MondayOutputting date from an array with bashHow to save psql error message output in bash variable?Set file modification date from date stored as filenameChecking whether a date is within the next week
I am checking for a valid date scrpt.bash test 2019-05-03
date -d $2 2>: 1>:; c=$?
If $c
is 1 then the date is invalid. If I enter 2019-05-03
I will get a 0 which is correct. If i enter 2019-05-03u
I get a 0 which is incorrect. I can enter 2019-05-03uu
then it throws an error. How can I just check if the date is valid.
bash date error-handling
add a comment |
I am checking for a valid date scrpt.bash test 2019-05-03
date -d $2 2>: 1>:; c=$?
If $c
is 1 then the date is invalid. If I enter 2019-05-03
I will get a 0 which is correct. If i enter 2019-05-03u
I get a 0 which is incorrect. I can enter 2019-05-03uu
then it throws an error. How can I just check if the date is valid.
bash date error-handling
1
Is the date always provided in this format? 2019-05-03
– Luciano Andress Martini
1 hour ago
Have you trydate -d $2 && c=$?
– Romeo Ninov
1 hour ago
Romeo as he says date is returning sucess (0), even if the date contain a additional character at end. So && will make no difference as it will check the command return too to make a decision.
– Luciano Andress Martini
1 hour ago
1
date is valid against what criteria? Against what yourdate -d
supports?
– Stéphane Chazelas
1 hour ago
add a comment |
I am checking for a valid date scrpt.bash test 2019-05-03
date -d $2 2>: 1>:; c=$?
If $c
is 1 then the date is invalid. If I enter 2019-05-03
I will get a 0 which is correct. If i enter 2019-05-03u
I get a 0 which is incorrect. I can enter 2019-05-03uu
then it throws an error. How can I just check if the date is valid.
bash date error-handling
I am checking for a valid date scrpt.bash test 2019-05-03
date -d $2 2>: 1>:; c=$?
If $c
is 1 then the date is invalid. If I enter 2019-05-03
I will get a 0 which is correct. If i enter 2019-05-03u
I get a 0 which is incorrect. I can enter 2019-05-03uu
then it throws an error. How can I just check if the date is valid.
bash date error-handling
bash date error-handling
asked 1 hour ago
user3525290user3525290
1153
1153
1
Is the date always provided in this format? 2019-05-03
– Luciano Andress Martini
1 hour ago
Have you trydate -d $2 && c=$?
– Romeo Ninov
1 hour ago
Romeo as he says date is returning sucess (0), even if the date contain a additional character at end. So && will make no difference as it will check the command return too to make a decision.
– Luciano Andress Martini
1 hour ago
1
date is valid against what criteria? Against what yourdate -d
supports?
– Stéphane Chazelas
1 hour ago
add a comment |
1
Is the date always provided in this format? 2019-05-03
– Luciano Andress Martini
1 hour ago
Have you trydate -d $2 && c=$?
– Romeo Ninov
1 hour ago
Romeo as he says date is returning sucess (0), even if the date contain a additional character at end. So && will make no difference as it will check the command return too to make a decision.
– Luciano Andress Martini
1 hour ago
1
date is valid against what criteria? Against what yourdate -d
supports?
– Stéphane Chazelas
1 hour ago
1
1
Is the date always provided in this format? 2019-05-03
– Luciano Andress Martini
1 hour ago
Is the date always provided in this format? 2019-05-03
– Luciano Andress Martini
1 hour ago
Have you try
date -d $2 && c=$?
– Romeo Ninov
1 hour ago
Have you try
date -d $2 && c=$?
– Romeo Ninov
1 hour ago
Romeo as he says date is returning sucess (0), even if the date contain a additional character at end. So && will make no difference as it will check the command return too to make a decision.
– Luciano Andress Martini
1 hour ago
Romeo as he says date is returning sucess (0), even if the date contain a additional character at end. So && will make no difference as it will check the command return too to make a decision.
– Luciano Andress Martini
1 hour ago
1
1
date is valid against what criteria? Against what your
date -d
supports?– Stéphane Chazelas
1 hour ago
date is valid against what criteria? Against what your
date -d
supports?– Stéphane Chazelas
1 hour ago
add a comment |
1 Answer
1
active
oldest
votes
If date is always provided in this format: '2019-05-03', this will probably work always:
#!/bin/sh -
if [ -n "$2" ] && [ "$(date -d "$2" +%Y-%m-%d 2> /dev/null)" = "$2" ]; then
echo 'This date is valid'
fi
This is good for Linux (date
from GNU Coreutils), but not BSDs. (I don't see any information on the OP's OS.)
– Christopher
1 hour ago
Thank you for the information.
– Luciano Andress Martini
1 hour ago
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%2f505886%2fchecking-for-invalid-date-in-bash-script%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
If date is always provided in this format: '2019-05-03', this will probably work always:
#!/bin/sh -
if [ -n "$2" ] && [ "$(date -d "$2" +%Y-%m-%d 2> /dev/null)" = "$2" ]; then
echo 'This date is valid'
fi
This is good for Linux (date
from GNU Coreutils), but not BSDs. (I don't see any information on the OP's OS.)
– Christopher
1 hour ago
Thank you for the information.
– Luciano Andress Martini
1 hour ago
add a comment |
If date is always provided in this format: '2019-05-03', this will probably work always:
#!/bin/sh -
if [ -n "$2" ] && [ "$(date -d "$2" +%Y-%m-%d 2> /dev/null)" = "$2" ]; then
echo 'This date is valid'
fi
This is good for Linux (date
from GNU Coreutils), but not BSDs. (I don't see any information on the OP's OS.)
– Christopher
1 hour ago
Thank you for the information.
– Luciano Andress Martini
1 hour ago
add a comment |
If date is always provided in this format: '2019-05-03', this will probably work always:
#!/bin/sh -
if [ -n "$2" ] && [ "$(date -d "$2" +%Y-%m-%d 2> /dev/null)" = "$2" ]; then
echo 'This date is valid'
fi
If date is always provided in this format: '2019-05-03', this will probably work always:
#!/bin/sh -
if [ -n "$2" ] && [ "$(date -d "$2" +%Y-%m-%d 2> /dev/null)" = "$2" ]; then
echo 'This date is valid'
fi
edited 1 hour ago
Stéphane Chazelas
309k57582944
309k57582944
answered 1 hour ago
Luciano Andress MartiniLuciano Andress Martini
3,9531036
3,9531036
This is good for Linux (date
from GNU Coreutils), but not BSDs. (I don't see any information on the OP's OS.)
– Christopher
1 hour ago
Thank you for the information.
– Luciano Andress Martini
1 hour ago
add a comment |
This is good for Linux (date
from GNU Coreutils), but not BSDs. (I don't see any information on the OP's OS.)
– Christopher
1 hour ago
Thank you for the information.
– Luciano Andress Martini
1 hour ago
This is good for Linux (
date
from GNU Coreutils), but not BSDs. (I don't see any information on the OP's OS.)– Christopher
1 hour ago
This is good for Linux (
date
from GNU Coreutils), but not BSDs. (I don't see any information on the OP's OS.)– Christopher
1 hour ago
Thank you for the information.
– Luciano Andress Martini
1 hour ago
Thank you for the information.
– Luciano Andress Martini
1 hour ago
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%2f505886%2fchecking-for-invalid-date-in-bash-script%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
-bash, date, error-handling
1
Is the date always provided in this format? 2019-05-03
– Luciano Andress Martini
1 hour ago
Have you try
date -d $2 && c=$?
– Romeo Ninov
1 hour ago
Romeo as he says date is returning sucess (0), even if the date contain a additional character at end. So && will make no difference as it will check the command return too to make a decision.
– Luciano Andress Martini
1 hour ago
1
date is valid against what criteria? Against what your
date -d
supports?– Stéphane Chazelas
1 hour ago