How to compare to a character in if else statement
up vote
0
down vote
favorite
I am comparing 2 datas using sdiff and would like to send the output of to a if else loop to generate lines. Mainly printing "Data Not Scheduled" if < or > is present and "Data Scheduled" otherwise. My script is as follows;
sdiff -b cleanAntDiff cleanGSCDiff > mergeData
if [$mergeData -eq "<"]
then
echo -e "Data Not Scheduled"
else
echo -e "Data Scheduled"
fi
linux shell-script shell
New contributor
add a comment |
up vote
0
down vote
favorite
I am comparing 2 datas using sdiff and would like to send the output of to a if else loop to generate lines. Mainly printing "Data Not Scheduled" if < or > is present and "Data Scheduled" otherwise. My script is as follows;
sdiff -b cleanAntDiff cleanGSCDiff > mergeData
if [$mergeData -eq "<"]
then
echo -e "Data Not Scheduled"
else
echo -e "Data Scheduled"
fi
linux shell-script shell
New contributor
5
Well, there are a few issues. (1) You always have to have whitespace (one or more spaces or tabs) after[
and before]
. (2) You should always quote variables (e.g.,"$mergeData"
) unless you have a good reason not to, and you’re sure you know what you’re doing. (3) You should use=
to compare characters (strings);-eq
is only for comparing numbers. … (Cont’d)
– Scott
Nov 16 at 2:38
6
(Cont’d) … But the biggest problem is that you createmergeData
as a file, and then you treat it as a variable. Beyond that, I’m not sure what you’re trying to accomplish. Are you trying to test whether the two files are identical? If so, usecmp
. Are you trying to test whether thesdiff
output contains a<
or a>
? Look atgrep
. But please learn to state your objective unambiguously.
– Scott
Nov 16 at 2:38
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I am comparing 2 datas using sdiff and would like to send the output of to a if else loop to generate lines. Mainly printing "Data Not Scheduled" if < or > is present and "Data Scheduled" otherwise. My script is as follows;
sdiff -b cleanAntDiff cleanGSCDiff > mergeData
if [$mergeData -eq "<"]
then
echo -e "Data Not Scheduled"
else
echo -e "Data Scheduled"
fi
linux shell-script shell
New contributor
I am comparing 2 datas using sdiff and would like to send the output of to a if else loop to generate lines. Mainly printing "Data Not Scheduled" if < or > is present and "Data Scheduled" otherwise. My script is as follows;
sdiff -b cleanAntDiff cleanGSCDiff > mergeData
if [$mergeData -eq "<"]
then
echo -e "Data Not Scheduled"
else
echo -e "Data Scheduled"
fi
linux shell-script shell
linux shell-script shell
New contributor
New contributor
edited Nov 16 at 2:22
Rui F Ribeiro
38.2k1475123
38.2k1475123
New contributor
asked Nov 16 at 2:13
Bhara
1
1
New contributor
New contributor
5
Well, there are a few issues. (1) You always have to have whitespace (one or more spaces or tabs) after[
and before]
. (2) You should always quote variables (e.g.,"$mergeData"
) unless you have a good reason not to, and you’re sure you know what you’re doing. (3) You should use=
to compare characters (strings);-eq
is only for comparing numbers. … (Cont’d)
– Scott
Nov 16 at 2:38
6
(Cont’d) … But the biggest problem is that you createmergeData
as a file, and then you treat it as a variable. Beyond that, I’m not sure what you’re trying to accomplish. Are you trying to test whether the two files are identical? If so, usecmp
. Are you trying to test whether thesdiff
output contains a<
or a>
? Look atgrep
. But please learn to state your objective unambiguously.
– Scott
Nov 16 at 2:38
add a comment |
5
Well, there are a few issues. (1) You always have to have whitespace (one or more spaces or tabs) after[
and before]
. (2) You should always quote variables (e.g.,"$mergeData"
) unless you have a good reason not to, and you’re sure you know what you’re doing. (3) You should use=
to compare characters (strings);-eq
is only for comparing numbers. … (Cont’d)
– Scott
Nov 16 at 2:38
6
(Cont’d) … But the biggest problem is that you createmergeData
as a file, and then you treat it as a variable. Beyond that, I’m not sure what you’re trying to accomplish. Are you trying to test whether the two files are identical? If so, usecmp
. Are you trying to test whether thesdiff
output contains a<
or a>
? Look atgrep
. But please learn to state your objective unambiguously.
– Scott
Nov 16 at 2:38
5
5
Well, there are a few issues. (1) You always have to have whitespace (one or more spaces or tabs) after
[
and before ]
. (2) You should always quote variables (e.g., "$mergeData"
) unless you have a good reason not to, and you’re sure you know what you’re doing. (3) You should use =
to compare characters (strings); -eq
is only for comparing numbers. … (Cont’d)– Scott
Nov 16 at 2:38
Well, there are a few issues. (1) You always have to have whitespace (one or more spaces or tabs) after
[
and before ]
. (2) You should always quote variables (e.g., "$mergeData"
) unless you have a good reason not to, and you’re sure you know what you’re doing. (3) You should use =
to compare characters (strings); -eq
is only for comparing numbers. … (Cont’d)– Scott
Nov 16 at 2:38
6
6
(Cont’d) … But the biggest problem is that you create
mergeData
as a file, and then you treat it as a variable. Beyond that, I’m not sure what you’re trying to accomplish. Are you trying to test whether the two files are identical? If so, use cmp
. Are you trying to test whether the sdiff
output contains a <
or a >
? Look at grep
. But please learn to state your objective unambiguously.– Scott
Nov 16 at 2:38
(Cont’d) … But the biggest problem is that you create
mergeData
as a file, and then you treat it as a variable. Beyond that, I’m not sure what you’re trying to accomplish. Are you trying to test whether the two files are identical? If so, use cmp
. Are you trying to test whether the sdiff
output contains a <
or a >
? Look at grep
. But please learn to state your objective unambiguously.– Scott
Nov 16 at 2:38
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Bhara is a new contributor. Be nice, and check out our Code of Conduct.
Bhara is a new contributor. Be nice, and check out our Code of Conduct.
Bhara is a new contributor. Be nice, and check out our Code of Conduct.
Bhara is a new contributor. Be nice, and check out our Code of Conduct.
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%2f482068%2fhow-to-compare-to-a-character-in-if-else-statement%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
5
Well, there are a few issues. (1) You always have to have whitespace (one or more spaces or tabs) after
[
and before]
. (2) You should always quote variables (e.g.,"$mergeData"
) unless you have a good reason not to, and you’re sure you know what you’re doing. (3) You should use=
to compare characters (strings);-eq
is only for comparing numbers. … (Cont’d)– Scott
Nov 16 at 2:38
6
(Cont’d) … But the biggest problem is that you create
mergeData
as a file, and then you treat it as a variable. Beyond that, I’m not sure what you’re trying to accomplish. Are you trying to test whether the two files are identical? If so, usecmp
. Are you trying to test whether thesdiff
output contains a<
or a>
? Look atgrep
. But please learn to state your objective unambiguously.– Scott
Nov 16 at 2:38