Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie
Help Keep Boards Alive. Support us by going ad free today. See here: https://subscriptions.boards.ie/.
If we do not hit our goal we will be forced to close the site.

Current status: https://keepboardsalive.com/

Annual subs are best for most impact. If you are still undecided on going Ad Free - you can also donate using the Paypal Donate option. All contribution helps. Thank you.

Exclamation marks in echos (shell scripts)

  • 28-07-2014 02:17PM
    #1
    Registered Users, Registered Users 2 Posts: 5,750 ✭✭✭


    Hi im trying to do the following

    temp=tempFile.$$
    touch $tempFile
    echo "<!DOCTYPE ThisCode PUBLIC "-//company//DTD ThisCode" >> $temp


    But the echo gives this error

    bash: !DOCTYPE: event not found


    How do i make it do the echo literally?


Comments

  • Registered Users, Registered Users 2 Posts: 1,110 ✭✭✭Skrynesaver


    Either slash escape the exclamation mark
    echo "<\!DOCTYPE.."
    
    or single quote the text to prevent shell interpolation


  • Registered Users, Registered Users 2 Posts: 6,636 ✭✭✭daymobrew


    or single quote the text to prevent shell interpolation
    +1 on single quotes - shell doesn't mess with your text. And copy/pasting from other sources doesn't need escaping.


Advertisement