dos2unix broke my script, but it works in dos format? (unix2dos)
My script is designed to first close a screen, for example named 'name1', by sending 'exit' then sending a return key, then open up a new one of the same kind. I do this to prevent a duplicate from running.
However running it only works when it it's in dos format (vim shows [dos] at the bottom while editing), and it also gives those expected $'r': command not found
errors.
This is the script (with the last line truncated):
#!/bin/bash
screen -S name1 -X stuff 'exit'`echo -ne '15'`;
sleep 3;
screen -A -m -d -S name1 /dir/to/program -options ...
Here is what happens when I run it when it's in unix format.
$ bash /dir/to/script.sh
No screen session found.
After this, the final screen command is not run, as I check my processes or use screen -r
and it's not there.
After using the unix2dos
command on the shell script, it has some line errors, but it actually works:
$ bash /steam/gmodsandbox2start.sh
No screen session found.
/steam/gmodsandbox2start.sh: line 2: $'r': command not found
/steam/gmodsandbox2start.sh: line 3: $'r': command not found
/steam/gmodsandbox2start.sh: line 4: $'r': command not found
/steam/gmodsandbox2start.sh: line 5: $'r': command not found
After this, the screen is up and running and I can see it in my processes.
So my question is, what is wrong with my shell script? I would like to have it as a standard unix file and work at the same time. This also is making me genuinely curious as to what may be causing this.
shell-script gnu-screen error-handling
add a comment |
My script is designed to first close a screen, for example named 'name1', by sending 'exit' then sending a return key, then open up a new one of the same kind. I do this to prevent a duplicate from running.
However running it only works when it it's in dos format (vim shows [dos] at the bottom while editing), and it also gives those expected $'r': command not found
errors.
This is the script (with the last line truncated):
#!/bin/bash
screen -S name1 -X stuff 'exit'`echo -ne '15'`;
sleep 3;
screen -A -m -d -S name1 /dir/to/program -options ...
Here is what happens when I run it when it's in unix format.
$ bash /dir/to/script.sh
No screen session found.
After this, the final screen command is not run, as I check my processes or use screen -r
and it's not there.
After using the unix2dos
command on the shell script, it has some line errors, but it actually works:
$ bash /steam/gmodsandbox2start.sh
No screen session found.
/steam/gmodsandbox2start.sh: line 2: $'r': command not found
/steam/gmodsandbox2start.sh: line 3: $'r': command not found
/steam/gmodsandbox2start.sh: line 4: $'r': command not found
/steam/gmodsandbox2start.sh: line 5: $'r': command not found
After this, the screen is up and running and I can see it in my processes.
So my question is, what is wrong with my shell script? I would like to have it as a standard unix file and work at the same time. This also is making me genuinely curious as to what may be causing this.
shell-script gnu-screen error-handling
add a comment |
My script is designed to first close a screen, for example named 'name1', by sending 'exit' then sending a return key, then open up a new one of the same kind. I do this to prevent a duplicate from running.
However running it only works when it it's in dos format (vim shows [dos] at the bottom while editing), and it also gives those expected $'r': command not found
errors.
This is the script (with the last line truncated):
#!/bin/bash
screen -S name1 -X stuff 'exit'`echo -ne '15'`;
sleep 3;
screen -A -m -d -S name1 /dir/to/program -options ...
Here is what happens when I run it when it's in unix format.
$ bash /dir/to/script.sh
No screen session found.
After this, the final screen command is not run, as I check my processes or use screen -r
and it's not there.
After using the unix2dos
command on the shell script, it has some line errors, but it actually works:
$ bash /steam/gmodsandbox2start.sh
No screen session found.
/steam/gmodsandbox2start.sh: line 2: $'r': command not found
/steam/gmodsandbox2start.sh: line 3: $'r': command not found
/steam/gmodsandbox2start.sh: line 4: $'r': command not found
/steam/gmodsandbox2start.sh: line 5: $'r': command not found
After this, the screen is up and running and I can see it in my processes.
So my question is, what is wrong with my shell script? I would like to have it as a standard unix file and work at the same time. This also is making me genuinely curious as to what may be causing this.
shell-script gnu-screen error-handling
My script is designed to first close a screen, for example named 'name1', by sending 'exit' then sending a return key, then open up a new one of the same kind. I do this to prevent a duplicate from running.
However running it only works when it it's in dos format (vim shows [dos] at the bottom while editing), and it also gives those expected $'r': command not found
errors.
This is the script (with the last line truncated):
#!/bin/bash
screen -S name1 -X stuff 'exit'`echo -ne '15'`;
sleep 3;
screen -A -m -d -S name1 /dir/to/program -options ...
Here is what happens when I run it when it's in unix format.
$ bash /dir/to/script.sh
No screen session found.
After this, the final screen command is not run, as I check my processes or use screen -r
and it's not there.
After using the unix2dos
command on the shell script, it has some line errors, but it actually works:
$ bash /steam/gmodsandbox2start.sh
No screen session found.
/steam/gmodsandbox2start.sh: line 2: $'r': command not found
/steam/gmodsandbox2start.sh: line 3: $'r': command not found
/steam/gmodsandbox2start.sh: line 4: $'r': command not found
/steam/gmodsandbox2start.sh: line 5: $'r': command not found
After this, the screen is up and running and I can see it in my processes.
So my question is, what is wrong with my shell script? I would like to have it as a standard unix file and work at the same time. This also is making me genuinely curious as to what may be causing this.
shell-script gnu-screen error-handling
shell-script gnu-screen error-handling
asked 9 mins ago
APNxRPG24APNxRPG24
62
62
add a comment |
add a comment |
0
active
oldest
votes
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%2f494063%2fdos2unix-broke-my-script-but-it-works-in-dos-format-unix2dos%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
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%2f494063%2fdos2unix-broke-my-script-but-it-works-in-dos-format-unix2dos%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