What are the differences between here document and here string in their purposes? [closed]












2














In bash, it seems to me both here document and here string can be used for providing strings as stdin inputs. here document may provide an extra features to specify delimiter, which I am not sure if is necessary in any case.



What are the differences between their purposes? Can one always be used wherever the other is used? When shall we use which? Thanks.










share|improve this question













closed as primarily opinion-based by Kusalananda, G-Man, Isaac, X Tian, mosvy Nov 19 '18 at 15:27


Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.











  • 4




    Use here-strings all the time if you wish, until you encounter a situation where it's not possible. Then use a here-document. Or use temporary files, always, and never ever touch here-strings nor here-documents. Deciding when to use what is something you as a developer has to do.
    – Kusalananda
    Nov 18 '18 at 16:21
















2














In bash, it seems to me both here document and here string can be used for providing strings as stdin inputs. here document may provide an extra features to specify delimiter, which I am not sure if is necessary in any case.



What are the differences between their purposes? Can one always be used wherever the other is used? When shall we use which? Thanks.










share|improve this question













closed as primarily opinion-based by Kusalananda, G-Man, Isaac, X Tian, mosvy Nov 19 '18 at 15:27


Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.











  • 4




    Use here-strings all the time if you wish, until you encounter a situation where it's not possible. Then use a here-document. Or use temporary files, always, and never ever touch here-strings nor here-documents. Deciding when to use what is something you as a developer has to do.
    – Kusalananda
    Nov 18 '18 at 16:21














2












2








2


0





In bash, it seems to me both here document and here string can be used for providing strings as stdin inputs. here document may provide an extra features to specify delimiter, which I am not sure if is necessary in any case.



What are the differences between their purposes? Can one always be used wherever the other is used? When shall we use which? Thanks.










share|improve this question













In bash, it seems to me both here document and here string can be used for providing strings as stdin inputs. here document may provide an extra features to specify delimiter, which I am not sure if is necessary in any case.



What are the differences between their purposes? Can one always be used wherever the other is used? When shall we use which? Thanks.







bash io-redirection here-document here-string






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 18 '18 at 13:32









TimTim

26.3k74246456




26.3k74246456




closed as primarily opinion-based by Kusalananda, G-Man, Isaac, X Tian, mosvy Nov 19 '18 at 15:27


Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.






closed as primarily opinion-based by Kusalananda, G-Man, Isaac, X Tian, mosvy Nov 19 '18 at 15:27


Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.










  • 4




    Use here-strings all the time if you wish, until you encounter a situation where it's not possible. Then use a here-document. Or use temporary files, always, and never ever touch here-strings nor here-documents. Deciding when to use what is something you as a developer has to do.
    – Kusalananda
    Nov 18 '18 at 16:21














  • 4




    Use here-strings all the time if you wish, until you encounter a situation where it's not possible. Then use a here-document. Or use temporary files, always, and never ever touch here-strings nor here-documents. Deciding when to use what is something you as a developer has to do.
    – Kusalananda
    Nov 18 '18 at 16:21








4




4




Use here-strings all the time if you wish, until you encounter a situation where it's not possible. Then use a here-document. Or use temporary files, always, and never ever touch here-strings nor here-documents. Deciding when to use what is something you as a developer has to do.
– Kusalananda
Nov 18 '18 at 16:21




Use here-strings all the time if you wish, until you encounter a situation where it's not possible. Then use a here-document. Or use temporary files, always, and never ever touch here-strings nor here-documents. Deciding when to use what is something you as a developer has to do.
– Kusalananda
Nov 18 '18 at 16:21










1 Answer
1






active

oldest

votes


















6














Here string is for shorter strings, here document for longer ones. The extra feature of here documents is that you can pass arbitrary text without having to worry about quoting. Just single-quote the delimiter, and make sure it does not show up in the text. You may use a random string (drawing from characters and digits), a technique that is also used to delimit parts in MIME encoded email.






share|improve this answer




























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    6














    Here string is for shorter strings, here document for longer ones. The extra feature of here documents is that you can pass arbitrary text without having to worry about quoting. Just single-quote the delimiter, and make sure it does not show up in the text. You may use a random string (drawing from characters and digits), a technique that is also used to delimit parts in MIME encoded email.






    share|improve this answer


























      6














      Here string is for shorter strings, here document for longer ones. The extra feature of here documents is that you can pass arbitrary text without having to worry about quoting. Just single-quote the delimiter, and make sure it does not show up in the text. You may use a random string (drawing from characters and digits), a technique that is also used to delimit parts in MIME encoded email.






      share|improve this answer
























        6












        6








        6






        Here string is for shorter strings, here document for longer ones. The extra feature of here documents is that you can pass arbitrary text without having to worry about quoting. Just single-quote the delimiter, and make sure it does not show up in the text. You may use a random string (drawing from characters and digits), a technique that is also used to delimit parts in MIME encoded email.






        share|improve this answer












        Here string is for shorter strings, here document for longer ones. The extra feature of here documents is that you can pass arbitrary text without having to worry about quoting. Just single-quote the delimiter, and make sure it does not show up in the text. You may use a random string (drawing from characters and digits), a technique that is also used to delimit parts in MIME encoded email.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 18 '18 at 15:16









        stefanstefan

        580312




        580312















            Popular posts from this blog

            How to change which sound is reproduced for terminal bell?

            Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

            Can I use Tabulator js library in my java Spring + Thymeleaf project?