escaping hash (#) in cron
The following line works in cron:
* * * * * /usr/bin/mosquitto_pub -h test.mosquitto.org -p 1883 -u dragino -t /MyExample/Topic -m "GPING-GPING-4-GPING-GPING"
This one doesn´t:
* * * * * /usr/bin/mosquitto_pub -h test.mosquitto.org -p 1883 -u dragino -t /MyExample/Topic -m "GPING#GPING#4#GPING#GPING"
Notice I changed the -
characters to #
inside the message. I understand that the #
character needs scaping, but how? #
didn't work.
cron escaping
add a comment |
The following line works in cron:
* * * * * /usr/bin/mosquitto_pub -h test.mosquitto.org -p 1883 -u dragino -t /MyExample/Topic -m "GPING-GPING-4-GPING-GPING"
This one doesn´t:
* * * * * /usr/bin/mosquitto_pub -h test.mosquitto.org -p 1883 -u dragino -t /MyExample/Topic -m "GPING#GPING#4#GPING#GPING"
Notice I changed the -
characters to #
inside the message. I understand that the #
character needs scaping, but how? #
didn't work.
cron escaping
which cron are you using?
– kvantour
Nov 13 '18 at 13:27
it´s the cron used in Dragino products (Arduino Yun based, OpenWRT). Do you want me to check some specific version? If so, how can I check it? Thanks.
– Daniel Fernandes
Nov 13 '18 at 17:02
add a comment |
The following line works in cron:
* * * * * /usr/bin/mosquitto_pub -h test.mosquitto.org -p 1883 -u dragino -t /MyExample/Topic -m "GPING-GPING-4-GPING-GPING"
This one doesn´t:
* * * * * /usr/bin/mosquitto_pub -h test.mosquitto.org -p 1883 -u dragino -t /MyExample/Topic -m "GPING#GPING#4#GPING#GPING"
Notice I changed the -
characters to #
inside the message. I understand that the #
character needs scaping, but how? #
didn't work.
cron escaping
The following line works in cron:
* * * * * /usr/bin/mosquitto_pub -h test.mosquitto.org -p 1883 -u dragino -t /MyExample/Topic -m "GPING-GPING-4-GPING-GPING"
This one doesn´t:
* * * * * /usr/bin/mosquitto_pub -h test.mosquitto.org -p 1883 -u dragino -t /MyExample/Topic -m "GPING#GPING#4#GPING#GPING"
Notice I changed the -
characters to #
inside the message. I understand that the #
character needs scaping, but how? #
didn't work.
cron escaping
cron escaping
edited Nov 13 '18 at 14:55
kvantour
8,74831330
8,74831330
asked Nov 13 '18 at 13:02
Daniel FernandesDaniel Fernandes
1
1
which cron are you using?
– kvantour
Nov 13 '18 at 13:27
it´s the cron used in Dragino products (Arduino Yun based, OpenWRT). Do you want me to check some specific version? If so, how can I check it? Thanks.
– Daniel Fernandes
Nov 13 '18 at 17:02
add a comment |
which cron are you using?
– kvantour
Nov 13 '18 at 13:27
it´s the cron used in Dragino products (Arduino Yun based, OpenWRT). Do you want me to check some specific version? If so, how can I check it? Thanks.
– Daniel Fernandes
Nov 13 '18 at 17:02
which cron are you using?
– kvantour
Nov 13 '18 at 13:27
which cron are you using?
– kvantour
Nov 13 '18 at 13:27
it´s the cron used in Dragino products (Arduino Yun based, OpenWRT). Do you want me to check some specific version? If so, how can I check it? Thanks.
– Daniel Fernandes
Nov 13 '18 at 17:02
it´s the cron used in Dragino products (Arduino Yun based, OpenWRT). Do you want me to check some specific version? If so, how can I check it? Thanks.
– Daniel Fernandes
Nov 13 '18 at 17:02
add a comment |
2 Answers
2
active
oldest
votes
Escape all # with , as # denotes a comment in bash-scripts such as cron runs.#
should allow the script to run.
As I said "#" didn´t work, but thanks for your idea.
– Daniel Fernandes
Nov 13 '18 at 16:58
add a comment |
This statement is incorrect:
Blank lines, leading spaces, and tabs are ignored. Lines whose first non-white space character is a <pound-sign> (
#
) are comments and are not processed. Note that comments are not allowed on the same line as cron commands since they are considered a part of the command. Similarly, comments are not allowed on the same line as environment variable settings.
source:
man 5 crontab
You can easily test this with:
* * * * * echo "#" > ~/foo.txt
Your issue is most likely related to mosquitto_pub
. Although unversed in the topic, it seems that you can only have a single #
in your message and it should be at the end.
An alternative solution could be to create a script /path/to/run_cronscript.sh
which contains:
#!/usr/bin/env bash
/usr/bin/mosquitto_pub -h test.mosquitto.org -p 1883 -u dragino -t /MyExample/Topic -m "GPING#GPING#4#GPING#GPING"
and adjust your crontab as:
* * * * * /path/to/run_cronscript.sh
You can only have 1#
in the topic and it must be at the end, you can have as many#
as you want in the message payload
– hardillb
Nov 13 '18 at 14:47
If I use the command with the "#" directly from command line it works OK. Just inside cron it doesn´t work. But thanks for your input.
– Daniel Fernandes
Nov 13 '18 at 17:00
@DanielFernandes What you could do is to write your moquitto line in a script and just execute the script.
– kvantour
Nov 14 '18 at 16:11
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
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%2fstackoverflow.com%2fquestions%2f53281617%2fescaping-hash-in-cron%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Escape all # with , as # denotes a comment in bash-scripts such as cron runs.#
should allow the script to run.
As I said "#" didn´t work, but thanks for your idea.
– Daniel Fernandes
Nov 13 '18 at 16:58
add a comment |
Escape all # with , as # denotes a comment in bash-scripts such as cron runs.#
should allow the script to run.
As I said "#" didn´t work, but thanks for your idea.
– Daniel Fernandes
Nov 13 '18 at 16:58
add a comment |
Escape all # with , as # denotes a comment in bash-scripts such as cron runs.#
should allow the script to run.
Escape all # with , as # denotes a comment in bash-scripts such as cron runs.#
should allow the script to run.
answered Nov 13 '18 at 13:24
Fluid SenseFluid Sense
53
53
As I said "#" didn´t work, but thanks for your idea.
– Daniel Fernandes
Nov 13 '18 at 16:58
add a comment |
As I said "#" didn´t work, but thanks for your idea.
– Daniel Fernandes
Nov 13 '18 at 16:58
As I said "#" didn´t work, but thanks for your idea.
– Daniel Fernandes
Nov 13 '18 at 16:58
As I said "#" didn´t work, but thanks for your idea.
– Daniel Fernandes
Nov 13 '18 at 16:58
add a comment |
This statement is incorrect:
Blank lines, leading spaces, and tabs are ignored. Lines whose first non-white space character is a <pound-sign> (
#
) are comments and are not processed. Note that comments are not allowed on the same line as cron commands since they are considered a part of the command. Similarly, comments are not allowed on the same line as environment variable settings.
source:
man 5 crontab
You can easily test this with:
* * * * * echo "#" > ~/foo.txt
Your issue is most likely related to mosquitto_pub
. Although unversed in the topic, it seems that you can only have a single #
in your message and it should be at the end.
An alternative solution could be to create a script /path/to/run_cronscript.sh
which contains:
#!/usr/bin/env bash
/usr/bin/mosquitto_pub -h test.mosquitto.org -p 1883 -u dragino -t /MyExample/Topic -m "GPING#GPING#4#GPING#GPING"
and adjust your crontab as:
* * * * * /path/to/run_cronscript.sh
You can only have 1#
in the topic and it must be at the end, you can have as many#
as you want in the message payload
– hardillb
Nov 13 '18 at 14:47
If I use the command with the "#" directly from command line it works OK. Just inside cron it doesn´t work. But thanks for your input.
– Daniel Fernandes
Nov 13 '18 at 17:00
@DanielFernandes What you could do is to write your moquitto line in a script and just execute the script.
– kvantour
Nov 14 '18 at 16:11
add a comment |
This statement is incorrect:
Blank lines, leading spaces, and tabs are ignored. Lines whose first non-white space character is a <pound-sign> (
#
) are comments and are not processed. Note that comments are not allowed on the same line as cron commands since they are considered a part of the command. Similarly, comments are not allowed on the same line as environment variable settings.
source:
man 5 crontab
You can easily test this with:
* * * * * echo "#" > ~/foo.txt
Your issue is most likely related to mosquitto_pub
. Although unversed in the topic, it seems that you can only have a single #
in your message and it should be at the end.
An alternative solution could be to create a script /path/to/run_cronscript.sh
which contains:
#!/usr/bin/env bash
/usr/bin/mosquitto_pub -h test.mosquitto.org -p 1883 -u dragino -t /MyExample/Topic -m "GPING#GPING#4#GPING#GPING"
and adjust your crontab as:
* * * * * /path/to/run_cronscript.sh
You can only have 1#
in the topic and it must be at the end, you can have as many#
as you want in the message payload
– hardillb
Nov 13 '18 at 14:47
If I use the command with the "#" directly from command line it works OK. Just inside cron it doesn´t work. But thanks for your input.
– Daniel Fernandes
Nov 13 '18 at 17:00
@DanielFernandes What you could do is to write your moquitto line in a script and just execute the script.
– kvantour
Nov 14 '18 at 16:11
add a comment |
This statement is incorrect:
Blank lines, leading spaces, and tabs are ignored. Lines whose first non-white space character is a <pound-sign> (
#
) are comments and are not processed. Note that comments are not allowed on the same line as cron commands since they are considered a part of the command. Similarly, comments are not allowed on the same line as environment variable settings.
source:
man 5 crontab
You can easily test this with:
* * * * * echo "#" > ~/foo.txt
Your issue is most likely related to mosquitto_pub
. Although unversed in the topic, it seems that you can only have a single #
in your message and it should be at the end.
An alternative solution could be to create a script /path/to/run_cronscript.sh
which contains:
#!/usr/bin/env bash
/usr/bin/mosquitto_pub -h test.mosquitto.org -p 1883 -u dragino -t /MyExample/Topic -m "GPING#GPING#4#GPING#GPING"
and adjust your crontab as:
* * * * * /path/to/run_cronscript.sh
This statement is incorrect:
Blank lines, leading spaces, and tabs are ignored. Lines whose first non-white space character is a <pound-sign> (
#
) are comments and are not processed. Note that comments are not allowed on the same line as cron commands since they are considered a part of the command. Similarly, comments are not allowed on the same line as environment variable settings.
source:
man 5 crontab
You can easily test this with:
* * * * * echo "#" > ~/foo.txt
Your issue is most likely related to mosquitto_pub
. Although unversed in the topic, it seems that you can only have a single #
in your message and it should be at the end.
An alternative solution could be to create a script /path/to/run_cronscript.sh
which contains:
#!/usr/bin/env bash
/usr/bin/mosquitto_pub -h test.mosquitto.org -p 1883 -u dragino -t /MyExample/Topic -m "GPING#GPING#4#GPING#GPING"
and adjust your crontab as:
* * * * * /path/to/run_cronscript.sh
edited Nov 14 '18 at 16:14
answered Nov 13 '18 at 13:42
kvantourkvantour
8,74831330
8,74831330
You can only have 1#
in the topic and it must be at the end, you can have as many#
as you want in the message payload
– hardillb
Nov 13 '18 at 14:47
If I use the command with the "#" directly from command line it works OK. Just inside cron it doesn´t work. But thanks for your input.
– Daniel Fernandes
Nov 13 '18 at 17:00
@DanielFernandes What you could do is to write your moquitto line in a script and just execute the script.
– kvantour
Nov 14 '18 at 16:11
add a comment |
You can only have 1#
in the topic and it must be at the end, you can have as many#
as you want in the message payload
– hardillb
Nov 13 '18 at 14:47
If I use the command with the "#" directly from command line it works OK. Just inside cron it doesn´t work. But thanks for your input.
– Daniel Fernandes
Nov 13 '18 at 17:00
@DanielFernandes What you could do is to write your moquitto line in a script and just execute the script.
– kvantour
Nov 14 '18 at 16:11
You can only have 1
#
in the topic and it must be at the end, you can have as many #
as you want in the message payload– hardillb
Nov 13 '18 at 14:47
You can only have 1
#
in the topic and it must be at the end, you can have as many #
as you want in the message payload– hardillb
Nov 13 '18 at 14:47
If I use the command with the "#" directly from command line it works OK. Just inside cron it doesn´t work. But thanks for your input.
– Daniel Fernandes
Nov 13 '18 at 17:00
If I use the command with the "#" directly from command line it works OK. Just inside cron it doesn´t work. But thanks for your input.
– Daniel Fernandes
Nov 13 '18 at 17:00
@DanielFernandes What you could do is to write your moquitto line in a script and just execute the script.
– kvantour
Nov 14 '18 at 16:11
@DanielFernandes What you could do is to write your moquitto line in a script and just execute the script.
– kvantour
Nov 14 '18 at 16:11
add a comment |
Thanks for contributing an answer to Stack Overflow!
- 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%2fstackoverflow.com%2fquestions%2f53281617%2fescaping-hash-in-cron%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
which cron are you using?
– kvantour
Nov 13 '18 at 13:27
it´s the cron used in Dragino products (Arduino Yun based, OpenWRT). Do you want me to check some specific version? If so, how can I check it? Thanks.
– Daniel Fernandes
Nov 13 '18 at 17:02