Ubuntu - “sudo iptables” command works in terminal, doesn't work in bash script The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) 2019 Community Moderator Election ResultsPrompt for sudo password and programmatically elevate privilege in bash script?Graphically ask for password in a bash script and retain default sudo timeout settingstring matching not working in iptablesRun mkvirtualenv command as another userWhy do I get the correct results and an error in this bash script?Bash script works via terminal but not via main menuscript shebang (!#/bin/bash) works in Ubuntu Mate, not Lubuntu Minimal (+LXDE)how to Run sudo command in a Bash scriptexecute command with sudo and execute Bash script with sudoWhich shell interpreter runs a script with no hashbang… but run as sudo?
Did the UK government pay "millions and millions of dollars" to try to snag Julian Assange?
Is it ethical to upload a automatically generated paper to a non peer-reviewed site as part of a larger research?
Keeping a retro style to sci-fi spaceships?
Format single node in tikzcd
When did F become S in typeography, and why?
Why does this iterative way of solving of equation work?
How do I add random spotting to the same face in cycles?
What force causes entropy to increase?
In horse breeding, what is the female equivalent of putting a horse out "to stud"?
Am I ethically obligated to go into work on an off day if the reason is sudden?
What are these Gizmos at Izaña Atmospheric Research Center in Spain?
Why does the Event Horizon Telescope (EHT) not include telescopes from Africa, Asia or Australia?
Is above average number of years spent on PhD considered a red flag in future academia or industry positions?
Does Parliament need to approve the new Brexit delay to 31 October 2019?
Is there a writing software that you can sort scenes like slides in PowerPoint?
How does ice melt when immersed in water?
What's the point in a preamp?
How can I protect witches in combat who wear limited clothing?
Did the new image of black hole confirm the general theory of relativity?
How did passengers keep warm on sail ships?
How long does the line of fire that you can create as an action using the Investiture of Flame spell last?
how can a perfect fourth interval be considered either consonant or dissonant?
First use of “packing” as in carrying a gun
Wall plug outlet change
Ubuntu - “sudo iptables” command works in terminal, doesn't work in bash script
The 2019 Stack Overflow Developer Survey Results Are In
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
2019 Community Moderator Election ResultsPrompt for sudo password and programmatically elevate privilege in bash script?Graphically ask for password in a bash script and retain default sudo timeout settingstring matching not working in iptablesRun mkvirtualenv command as another userWhy do I get the correct results and an error in this bash script?Bash script works via terminal but not via main menuscript shebang (!#/bin/bash) works in Ubuntu Mate, not Lubuntu Minimal (+LXDE)how to Run sudo command in a Bash scriptexecute command with sudo and execute Bash script with sudoWhich shell interpreter runs a script with no hashbang… but run as sudo?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I'm using a simple terminal command that adds a rule to iptables and it executes without problems:
sudo iptables -A OUTPUT -p tcp -m string --string "facebook.com" --algo kmp -j REJECT
When I run that command in a bash script, it returns sudo: ./script.sh: command not found
The script looks like this:
#!/bin/bash
sudo iptables -A OUTPUT -p tcp -m string --string "facebook.com" --algo kmp -j REJECT
linux scripting sudo
add a comment |
I'm using a simple terminal command that adds a rule to iptables and it executes without problems:
sudo iptables -A OUTPUT -p tcp -m string --string "facebook.com" --algo kmp -j REJECT
When I run that command in a bash script, it returns sudo: ./script.sh: command not found
The script looks like this:
#!/bin/bash
sudo iptables -A OUTPUT -p tcp -m string --string "facebook.com" --algo kmp -j REJECT
linux scripting sudo
3
Isscript.sh
executable?chmod +x script.sh
– Thomas
Mar 31 at 13:10
1
Apparently it wasn't. It works after I changed permission. I thought all scripts are executable by default. Thanks!
– Marin Leontenko
Mar 31 at 13:19
2
@MarinLeontenko a script is just another file. By that logic, all files would be executable by default.
– multithr3at3d
Mar 31 at 14:50
add a comment |
I'm using a simple terminal command that adds a rule to iptables and it executes without problems:
sudo iptables -A OUTPUT -p tcp -m string --string "facebook.com" --algo kmp -j REJECT
When I run that command in a bash script, it returns sudo: ./script.sh: command not found
The script looks like this:
#!/bin/bash
sudo iptables -A OUTPUT -p tcp -m string --string "facebook.com" --algo kmp -j REJECT
linux scripting sudo
I'm using a simple terminal command that adds a rule to iptables and it executes without problems:
sudo iptables -A OUTPUT -p tcp -m string --string "facebook.com" --algo kmp -j REJECT
When I run that command in a bash script, it returns sudo: ./script.sh: command not found
The script looks like this:
#!/bin/bash
sudo iptables -A OUTPUT -p tcp -m string --string "facebook.com" --algo kmp -j REJECT
linux scripting sudo
linux scripting sudo
edited Mar 31 at 13:57
Jeff Schaller♦
45k1164147
45k1164147
asked Mar 31 at 12:45
Marin LeontenkoMarin Leontenko
142
142
3
Isscript.sh
executable?chmod +x script.sh
– Thomas
Mar 31 at 13:10
1
Apparently it wasn't. It works after I changed permission. I thought all scripts are executable by default. Thanks!
– Marin Leontenko
Mar 31 at 13:19
2
@MarinLeontenko a script is just another file. By that logic, all files would be executable by default.
– multithr3at3d
Mar 31 at 14:50
add a comment |
3
Isscript.sh
executable?chmod +x script.sh
– Thomas
Mar 31 at 13:10
1
Apparently it wasn't. It works after I changed permission. I thought all scripts are executable by default. Thanks!
– Marin Leontenko
Mar 31 at 13:19
2
@MarinLeontenko a script is just another file. By that logic, all files would be executable by default.
– multithr3at3d
Mar 31 at 14:50
3
3
Is
script.sh
executable? chmod +x script.sh
– Thomas
Mar 31 at 13:10
Is
script.sh
executable? chmod +x script.sh
– Thomas
Mar 31 at 13:10
1
1
Apparently it wasn't. It works after I changed permission. I thought all scripts are executable by default. Thanks!
– Marin Leontenko
Mar 31 at 13:19
Apparently it wasn't. It works after I changed permission. I thought all scripts are executable by default. Thanks!
– Marin Leontenko
Mar 31 at 13:19
2
2
@MarinLeontenko a script is just another file. By that logic, all files would be executable by default.
– multithr3at3d
Mar 31 at 14:50
@MarinLeontenko a script is just another file. By that logic, all files would be executable by default.
– multithr3at3d
Mar 31 at 14:50
add a comment |
1 Answer
1
active
oldest
votes
If a script is not executable, one has to call it with an appropriate shell like /bin/sh
or /bin/bash
. This will ignore the shebang line and the script will be executed with the calling shell.
sudo /bin/sh ./script.sh
To run the script as inteded by OP you have to give the script execution rights.
chmod +x script.sh
sudo ./script.sh
In this case the script is executed with the shell of the shebang line.
I believe that you can also use. <scriptname>
to run it in the currently running shell. That is how I executed scripts back in the day on my dialup Unix shell.
– trlkly
Mar 31 at 20:15
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%2f509721%2fubuntu-sudo-iptables-command-works-in-terminal-doesnt-work-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 a script is not executable, one has to call it with an appropriate shell like /bin/sh
or /bin/bash
. This will ignore the shebang line and the script will be executed with the calling shell.
sudo /bin/sh ./script.sh
To run the script as inteded by OP you have to give the script execution rights.
chmod +x script.sh
sudo ./script.sh
In this case the script is executed with the shell of the shebang line.
I believe that you can also use. <scriptname>
to run it in the currently running shell. That is how I executed scripts back in the day on my dialup Unix shell.
– trlkly
Mar 31 at 20:15
add a comment |
If a script is not executable, one has to call it with an appropriate shell like /bin/sh
or /bin/bash
. This will ignore the shebang line and the script will be executed with the calling shell.
sudo /bin/sh ./script.sh
To run the script as inteded by OP you have to give the script execution rights.
chmod +x script.sh
sudo ./script.sh
In this case the script is executed with the shell of the shebang line.
I believe that you can also use. <scriptname>
to run it in the currently running shell. That is how I executed scripts back in the day on my dialup Unix shell.
– trlkly
Mar 31 at 20:15
add a comment |
If a script is not executable, one has to call it with an appropriate shell like /bin/sh
or /bin/bash
. This will ignore the shebang line and the script will be executed with the calling shell.
sudo /bin/sh ./script.sh
To run the script as inteded by OP you have to give the script execution rights.
chmod +x script.sh
sudo ./script.sh
In this case the script is executed with the shell of the shebang line.
If a script is not executable, one has to call it with an appropriate shell like /bin/sh
or /bin/bash
. This will ignore the shebang line and the script will be executed with the calling shell.
sudo /bin/sh ./script.sh
To run the script as inteded by OP you have to give the script execution rights.
chmod +x script.sh
sudo ./script.sh
In this case the script is executed with the shell of the shebang line.
answered Mar 31 at 14:10
ThomasThomas
4,14361430
4,14361430
I believe that you can also use. <scriptname>
to run it in the currently running shell. That is how I executed scripts back in the day on my dialup Unix shell.
– trlkly
Mar 31 at 20:15
add a comment |
I believe that you can also use. <scriptname>
to run it in the currently running shell. That is how I executed scripts back in the day on my dialup Unix shell.
– trlkly
Mar 31 at 20:15
I believe that you can also use
. <scriptname>
to run it in the currently running shell. That is how I executed scripts back in the day on my dialup Unix shell.– trlkly
Mar 31 at 20:15
I believe that you can also use
. <scriptname>
to run it in the currently running shell. That is how I executed scripts back in the day on my dialup Unix shell.– trlkly
Mar 31 at 20:15
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%2f509721%2fubuntu-sudo-iptables-command-works-in-terminal-doesnt-work-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
3
Is
script.sh
executable?chmod +x script.sh
– Thomas
Mar 31 at 13:10
1
Apparently it wasn't. It works after I changed permission. I thought all scripts are executable by default. Thanks!
– Marin Leontenko
Mar 31 at 13:19
2
@MarinLeontenko a script is just another file. By that logic, all files would be executable by default.
– multithr3at3d
Mar 31 at 14:50