Why should I escape the semicolon with find?












2














I'm using bash on Debian. I have to write



find -iname "*mp3" -exec cp {}  /media/MP3Player/ ;


escaping the final semicolon, or else I get an error.
The find man never uses it.










share|improve this question









New contributor




Poor Standard is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1




    -exec command ;
    – Jeff Schaller
    5 hours ago
















2














I'm using bash on Debian. I have to write



find -iname "*mp3" -exec cp {}  /media/MP3Player/ ;


escaping the final semicolon, or else I get an error.
The find man never uses it.










share|improve this question









New contributor




Poor Standard is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1




    -exec command ;
    – Jeff Schaller
    5 hours ago














2












2








2







I'm using bash on Debian. I have to write



find -iname "*mp3" -exec cp {}  /media/MP3Player/ ;


escaping the final semicolon, or else I get an error.
The find man never uses it.










share|improve this question









New contributor




Poor Standard is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











I'm using bash on Debian. I have to write



find -iname "*mp3" -exec cp {}  /media/MP3Player/ ;


escaping the final semicolon, or else I get an error.
The find man never uses it.







find options






share|improve this question









New contributor




Poor Standard is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Poor Standard is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 5 hours ago









Jeff Schaller

39k1053125




39k1053125






New contributor




Poor Standard is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 5 hours ago









Poor Standard

111




111




New contributor




Poor Standard is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Poor Standard is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Poor Standard is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 1




    -exec command ;
    – Jeff Schaller
    5 hours ago














  • 1




    -exec command ;
    – Jeff Schaller
    5 hours ago








1




1




-exec command ;
– Jeff Schaller
5 hours ago




-exec command ;
– Jeff Schaller
5 hours ago










1 Answer
1






active

oldest

votes


















5














You have to escape the semicolon so that your current shell doesn't see it and use it as a command separator before find gets to see it and use it to terminate the command you're sending to -exec.



Also, the manual does state in relevant part:




-exec utility [argument ...] ;



[...]



The expression must be terminated by a semi-
colon (;). If you invoke find from a shell you may need to quote the semicolon if the shell would otherwise treat it as a
control operator.




n. b. quickly searching my find manual shows examples of the ; syntax.






share|improve this answer























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


    }
    });






    Poor Standard is a new contributor. Be nice, and check out our Code of Conduct.










    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f492574%2fwhy-should-i-escape-the-semicolon-with-find%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














    You have to escape the semicolon so that your current shell doesn't see it and use it as a command separator before find gets to see it and use it to terminate the command you're sending to -exec.



    Also, the manual does state in relevant part:




    -exec utility [argument ...] ;



    [...]



    The expression must be terminated by a semi-
    colon (;). If you invoke find from a shell you may need to quote the semicolon if the shell would otherwise treat it as a
    control operator.




    n. b. quickly searching my find manual shows examples of the ; syntax.






    share|improve this answer




























      5














      You have to escape the semicolon so that your current shell doesn't see it and use it as a command separator before find gets to see it and use it to terminate the command you're sending to -exec.



      Also, the manual does state in relevant part:




      -exec utility [argument ...] ;



      [...]



      The expression must be terminated by a semi-
      colon (;). If you invoke find from a shell you may need to quote the semicolon if the shell would otherwise treat it as a
      control operator.




      n. b. quickly searching my find manual shows examples of the ; syntax.






      share|improve this answer


























        5












        5








        5






        You have to escape the semicolon so that your current shell doesn't see it and use it as a command separator before find gets to see it and use it to terminate the command you're sending to -exec.



        Also, the manual does state in relevant part:




        -exec utility [argument ...] ;



        [...]



        The expression must be terminated by a semi-
        colon (;). If you invoke find from a shell you may need to quote the semicolon if the shell would otherwise treat it as a
        control operator.




        n. b. quickly searching my find manual shows examples of the ; syntax.






        share|improve this answer














        You have to escape the semicolon so that your current shell doesn't see it and use it as a command separator before find gets to see it and use it to terminate the command you're sending to -exec.



        Also, the manual does state in relevant part:




        -exec utility [argument ...] ;



        [...]



        The expression must be terminated by a semi-
        colon (;). If you invoke find from a shell you may need to quote the semicolon if the shell would otherwise treat it as a
        control operator.




        n. b. quickly searching my find manual shows examples of the ; syntax.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited 5 hours ago

























        answered 5 hours ago









        DopeGhoti

        43.5k55382




        43.5k55382






















            Poor Standard is a new contributor. Be nice, and check out our Code of Conduct.










            draft saved

            draft discarded


















            Poor Standard is a new contributor. Be nice, and check out our Code of Conduct.













            Poor Standard is a new contributor. Be nice, and check out our Code of Conduct.












            Poor Standard is a new contributor. Be nice, and check out our Code of Conduct.
















            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.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • 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%2f492574%2fwhy-should-i-escape-the-semicolon-with-find%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

            Understanding the information contained in the Deep Space Network XML data?

            Ross-on-Wye

            Eastern Orthodox Church