Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
548 views
in Technique[技术] by (71.8m points)

syntax - Commenting in a Bash script inside a multiline command

How can I comment on each line of the following lines from a script?

cat ${MYSQLDUMP} | 
sed '1d' | 
tr ",;" "
" | 
sed -e 's/[asbi]:[0-9]*[:]*//g' -e '/^[{}]/d' -e 's/""//g' -e '/^"{/d' | 
sed -n -e '/^"/p' -e '/^print_value$/,/^option_id$/p' | 
sed -e '/^option_id/d' -e '/^print_value/d' -e 's/^"(.*)"$/1/' | 
tr "
" "," | 
sed -e 's/,([0-9]*-[0-9]*-[0-9]*)/
1/g' -e 's/,$//' | 
sed -e 's/^/"/g' -e 's/$/"/g' -e 's/,/","/g' >> ${CSV}

If I try and add a comment like:

cat ${MYSQLDUMP} |  # Output MYSQLDUMP File

I get:

#: not found

Is it possible to comment here?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

This will have some overhead, but technically it does answer your question:

echo abc `#Put your comment here` 
     def `#Another chance for a comment` 
     xyz, etc.

And for pipelines specifically, there is a clean solution with no overhead:

echo abc |        # Normal comment OK here
     tr a-z A-Z | # Another normal comment OK here
     sort |       # The pipelines are automatically continued
     uniq         # Final comment

See Stack Overflow question How to Put Line Comment for a Multi-line Command.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...