Running a Test with expression in a string
Clash Royale CLAN TAG#URR8PPP
up vote
0
down vote
favorite
I am trying to run the test command from a string. The string contains the expression.
TEST="! -e ~/bin/xyz"
if [ `echo "$TEST"` ]; then
echo running "$TEST";
fi
However, the above if condition does evaluate to true but if I plug in the command directly (as below), it evaluates to false.
if [ ! -e ~/bin/xyz ]; then
echo running;
fi
The second snippet's behavior is correct. Can someone help me understand why there is a difference and also how I can correct the first snippet to give me the right result?
linux test
New contributor
add a comment |Â
up vote
0
down vote
favorite
I am trying to run the test command from a string. The string contains the expression.
TEST="! -e ~/bin/xyz"
if [ `echo "$TEST"` ]; then
echo running "$TEST";
fi
However, the above if condition does evaluate to true but if I plug in the command directly (as below), it evaluates to false.
if [ ! -e ~/bin/xyz ]; then
echo running;
fi
The second snippet's behavior is correct. Can someone help me understand why there is a difference and also how I can correct the first snippet to give me the right result?
linux test
New contributor
add a comment |Â
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I am trying to run the test command from a string. The string contains the expression.
TEST="! -e ~/bin/xyz"
if [ `echo "$TEST"` ]; then
echo running "$TEST";
fi
However, the above if condition does evaluate to true but if I plug in the command directly (as below), it evaluates to false.
if [ ! -e ~/bin/xyz ]; then
echo running;
fi
The second snippet's behavior is correct. Can someone help me understand why there is a difference and also how I can correct the first snippet to give me the right result?
linux test
New contributor
I am trying to run the test command from a string. The string contains the expression.
TEST="! -e ~/bin/xyz"
if [ `echo "$TEST"` ]; then
echo running "$TEST";
fi
However, the above if condition does evaluate to true but if I plug in the command directly (as below), it evaluates to false.
if [ ! -e ~/bin/xyz ]; then
echo running;
fi
The second snippet's behavior is correct. Can someone help me understand why there is a difference and also how I can correct the first snippet to give me the right result?
linux test
linux test
New contributor
New contributor
New contributor
asked 7 mins ago
Ashwin
1
1
New contributor
New contributor
add a comment |Â
add a comment |Â
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Ashwin is a new contributor. Be nice, and check out our Code of Conduct.
Ashwin is a new contributor. Be nice, and check out our Code of Conduct.
Ashwin is a new contributor. Be nice, and check out our Code of Conduct.
Ashwin 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
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f479693%2frunning-a-test-with-expression-in-a-string%23new-answer', 'question_page');
);
Post as a guest
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
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
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