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;








1















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









share|improve this question



















  • 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

















1















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









share|improve this question



















  • 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













1












1








1








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









share|improve this question
















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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 31 at 13:57









Jeff Schaller

45k1164147




45k1164147










asked Mar 31 at 12:45









Marin LeontenkoMarin Leontenko

142




142







  • 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












  • 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







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










1 Answer
1






active

oldest

votes


















5














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.






share|improve this answer























  • 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











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
);



);













draft saved

draft discarded


















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









5














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.






share|improve this answer























  • 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















5














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.






share|improve this answer























  • 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













5












5








5







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.






share|improve this answer













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.







share|improve this answer












share|improve this answer



share|improve this answer










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

















  • 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

















draft saved

draft discarded
















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

Triangular numbers and gcdProving sum of a set is $0 pmod n$ if $n$ is odd, or $fracn2 pmod n$ if $n$ is even?Is greatest common divisor of two numbers really their smallest linear combination?GCD, LCM RelationshipProve a set of nonnegative integers with greatest common divisor 1 and closed under addition has all but finite many nonnegative integers.all pairs of a and b in an equation containing gcdTriangular Numbers Modulo $k$ - Hit All Values?Understanding the Existence and Uniqueness of the GCDGCD and LCM with logical symbolsThe greatest common divisor of two positive integers less than 100 is equal to 3. Their least common multiple is twelve times one of the integers.Suppose that for all integers $x$, $x|a$ and $x|b$ if and only if $x|c$. Then $c = gcd(a,b)$Which is the gcd of 2 numbers which are multiplied and the result is 600000?

Ingelân Ynhâld Etymology | Geografy | Skiednis | Polityk en bestjoer | Ekonomy | Demografy | Kultuer | Klimaat | Sjoch ek | Keppelings om utens | Boarnen, noaten en referinsjes Navigaasjemenuwww.gov.ukOffisjele webside fan it regear fan it Feriene KeninkrykOffisjele webside fan it Britske FerkearsburoNederlânsktalige ynformaasje fan it Britske FerkearsburoOffisjele webside fan English Heritage, de organisaasje dy't him ynset foar it behâld fan it Ingelske kultuergoedYnwennertallen fan alle Britske stêden út 'e folkstelling fan 2011Notes en References, op dizze sideEngland

Հադիս Բովանդակություն Անվանում և նշանակություն | Դասակարգում | Աղբյուրներ | Նավարկման ցանկ