Using :<<cut / cut to comment out block of bash script
I am using : << cut / cut to comment out block of code.
Works fine on few lines of script, then it gives me this cryptic error when I try to comment out about 80 lines.
There is a utility called cut and I would not use this as the delimiter of a here document.
Does the closing line of the here document hold only the word cut, without any whitespaces or other characters?
This is truly bizarre.
Did you take notice of cero's reply!
I will re-iterate his reply:
"""There is a utility called cut and I would not use this as the delimiter of a here document."""
Reading your OP implies you want to cut lines out of an executable script on the fly.
Am I correct?
If YES, then I would seriously reconsider what you are doing.
There may be other languages but IIRC the only one I know of that can delete lines on the fly is the Sinclair QL's SuperBASIC.
I am sure bash would get shell shock trying to do this. <pun intended>
I have been struggling with bash for less than a month now.
The idea was to use existing bash script and ADD some functionality to it.
When I do coding I like to keep my attempts in code so I do not repeat it.
So I am spoiled by C ability to comment out block of code and found that using "cut" can be used in bash. Unfortunately I have learn the "#" used at the bash scrip in this fashion #!... is really not "commented out line " - so this "problem using "cut" may be same issue.
BTW I did build a simple test function and using two "cut' in succession works just fine - that is not the issue.
I have been writing "code" for few years and firmly believe the "computer" will skip commented out code as instructed and it really does not bother me I my code contains code which is NOT executed one way or another.
Right now my code just "exit"s before getting to offending code.
I will try to analyze / delete the offending code to get rid of this error.
bash 4.x wants the ending cut on a single line, otherwise it issues a warning at the very last line (while bash 3.x and ksh do not issue a warning).
The other error is from substitution in the here-document. Any $( ) or $(( )) or ${} or $var is evaluated and substituted by the result.
You can suppress this substitution by putting the delimiter word in quotes.
The most confusing thing with your script is that in normal code mode the shell sees the # and treats the line as a comment. However in a here-document the shell does not see a #comment.
Last edited by MadeInGermany; 08-21-2018 at 02:47 PM..
This User Gave Thanks to MadeInGermany For This Post:
I'm a complete beginner in UNIX (and not a computer science student either), just undergoing a tutoring course. Trying to replicate the instructions on my own I directed output of the ls listing command (lists all files of my home directory ) to My_dir.tsv file (see the screenshot) to make use of... (9 Replies)
Hi
Can anyone what I am doing wrong while using cut command.
for f in *.log
do
logfilename=$f
Log "Log file Name: $logfilename"
logfile1=`basename $logfilename .log`
flength=${#logfile1}
Log "file length $flength"
from_length=$(($flength - 15))
Log "from... (2 Replies)
Hi all,
I'm trying to extract string from variable in BASH. That's probably trivial for grep but I couldn't figure it out.
I want to get name, there's sometimes digit after it, but it should be left out.
STRING=http://name5.domain.com:8000/file.dat
Could someone help me with that?
Any... (10 Replies)
Hello,
Could you put some light on this:
> echo "ref_categorie=test" | cut -c1-15-
test
> echo "ref_categorie=test" | cut -c1-14-
=test
echo "ref_categorie=test" | cut -c15-
test
echo "ref_categorie=test" | cut -c15
t
>
It's executed on AIX if that matters. The man page is not very... (2 Replies)