4

I use Gedit and enabled the Gedit Snippets plugin. I added a custom snippet for the sh language that shall contain a Bash variable like $LINENO. It looks like this simplified example:

my_command || ( echo "Error on line $LINENO" ; exit 1 )

However, if I let the plugin insert this snippet above, it tries to evaluate the $LINENO itself and removes it from the inserted code, so that I only get this result:

my_command || ( echo "Error on line " ; exit 1 )

Is there a way to make Gedit Snippets simply insert $LINENO literally, instead of trying to evaluate it?

5
  • 1
    Can you please give us a short example (only a few lines) that shows what you want to achieve? I'm having troubles to understand you...
    – Byte Commander
    Jun 26, 2016 at 16:59
  • After editing a file, I use an or statement to catch if it failed and call my exit function, give the line number of the script, and a short explanation, like this: || error_exit "$LINENO: File edit failed." Jun 26, 2016 at 19:56
  • I want the actual variable '$LINENO' to populate in the script I'm editing, but gedit tries to get the value and inserts a blank space, like this: || error_exit " : File edit failed.". The idea is that bash should be interpreting the variables value when the script is run, not gedit. Having to cut and paste that variable every time I use the error snippet I made is getting very frustrating. Jun 26, 2016 at 19:59
  • did you try quotes or backticks around the variable? I assume you are talking about shell placeholders?
    – Rinzwind
    Jun 26, 2016 at 20:07
  • 1
    I edited your question and removed all the long story around it and added a simple example. I hope everything I changed still fits your needs?
    – Byte Commander
    Jun 26, 2016 at 20:23

1 Answer 1

1

You must simply edit your snippet and escape the $ in Gedit's snippet manager with a \ backslash, just as you can see in the screenshot below.

That way the $LINENO will not be evaluated by Gedit Snippets, but inserted literally.

enter image description here

2
  • /facepalm... After using sed repeatedly you'd think that would've popped into my head. It works, thank you very much. Jun 26, 2016 at 20:28
  • If this answer solved your problem, please accept it by clicking the grey round check button on its left. You mark your problem as solved that way. Please don't forget to invest two minutes to take our little tour as well, where you can learn the basics about how our site works. Thanks and welcome to Ask Ubuntu :-)
    – Byte Commander
    Jun 26, 2016 at 20:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .