pavement

Escaped to multi-line format

From FreeBSDwiki
(Difference between revisions)
Jump to: navigation, search
m
m (Reverted edits by 83.211.3.16 (Talk); changed back to last version by Jimbo)
 
(2 intermediate revisions by 2 users not shown)
Line 14: Line 14:
 
  > all.files
 
  > all.files
  
On most machines, the script should work exactly the same in escaped format as it does in the normal, unescaped format.  However, I tend to recommend removing the backslashes and carriage returns and entering lines expressed this way as single continous lines - because while anything ''should'' work fine escaped, I have very occasionally seen source code that refused to work in escaped format but did work once the escapes were removed and the lines concatenated.  So if you don't escape to multiple lines, you have one less thing to worry about potentially having to fix. This is often because of the way that a particular [[shell]] treats the \ character; the Bourne shell [[sh]] is ubiquitous and should not have these issues but you should avoid the \ use Just In Case.
+
Be aware that in some rare cases (in particular, I have seen this occur in Makefiles) there may be problems associated with escaping long lines - so if you're having strange inexplicable issues with a script not working right that has multi-line escapes in it, you might want to try returning any multi-lines to standard format to see if that fixes the problem.
 
+
 
[[Category:FreeBSD Terminology]]
 
[[Category:FreeBSD Terminology]]

Latest revision as of 14:14, 5 May 2007

An often-followed convention when reproducing shell scripts online is escaping carriage returns, using the backslash character, in order to render single very long continous lines into multiple lines for readability. For example, the following simple script, which concatenates a lot of files into one file named "all.files":

#!/bin/sh

cat one.file two.file three.file four.file five.file six.file seven.file eight.file > all.files

Could be rendered like this:

#!/bin/sh

cat one.file two.file three.file \
four.file five.file six.file \
seven.file eight.file \
> all.files

Be aware that in some rare cases (in particular, I have seen this occur in Makefiles) there may be problems associated with escaping long lines - so if you're having strange inexplicable issues with a script not working right that has multi-line escapes in it, you might want to try returning any multi-lines to standard format to see if that fixes the problem.

Personal tools