How to execute the rest of the code after commenting multiple lines?
Hi,
As I have seen in this forum how to comment multiple lines in the script, but it does not work properly for me.
It is blocking the code but it does not execute the rest of the codes.
This is my code
#! /usr/bin/ksh
month='date +"m%"'
: << Comments Block
if [ "$month -eq 3 ] || [ "$month -eq 6 ]
then
echo "inc = 1"
else
echo "inc = 2"
fi
-- End Comments Block
case $month in
3|6|9|12) echo "Yes";;
*) echo "No";;
esac
echo "This is the last line"
My query is after the comments block, it does not execute the case statement. Can you pls explain it?
It looks like there is some confusion here.
What fpmurphy is trying to say is that you need to comment out the lines (if needed) that don't need to be executed using # sign, like this:
In case you are trying to use a HERE document, as suggested you need to get rid of the colon : in front of the sign <<, and no space at the final COMMENTBLOCK :
Quote:
<<COMMENTBLOCK
if [ "$month -eq 3 ] || [ "$month -eq 6 ]
then
echo "inc = 1"
else
echo "inc = 2"
fi
COMMENTBLOCK
So if you need those lines commented out you need to use the first code.
If you are trying to achieve something else with your script, then you need to look in your script and change it accordingly, or post here what are you trying to achieve.
Location: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Posts: 2,288
Thanks Given: 430
Thanked 480 Times in 395 Posts
Hi.
A few comments. First, there is a "quoted" string feature in the shells for HERE documents. The use prevents evaluation of everything up to the closing string, including unclosed quotes, variable issues, etc.
Second, ksh does a good job of diagnosing a missing, closing, matching HERE document string -- bash (2 & 3) simply stop.
A ksh example:
producing:
I don't use ksh for reasons of availability (my shebangs almost always use simple "sh"), but in this case ksh is superior ... cheers, drl
It looks like there is some confusion here.
What fpmurphy is trying to say is that you need to comment out the lines (if needed) that don't need to be executed using # sign, like this:
In case you are trying to use a HERE document, as suggested you need to get rid of the colon : in front of the sign <<, and no space at the final COMMENTBLOCK :
So if you need those lines commented out you need to use the first code.
If you are trying to achieve something else with your script, then you need to look in your script and change it accordingly, or post here what are you trying to achieve.
Hi Rubin,
Thanks for your explanation. I will write exactly what I need
Like in C or in C++, we have multiple lines of comments start like
/*
bla bla bla
*/
Likewise, I need the same kind of comments in Shell scripts. Is it possible here ?
1 #! /usr/bin/ksh
2 month=`date +"%m"`
3 echo $month
4
5 <<COMMENTBLOCk
6 if [ "$month" -eq 3] || [ "$month" -eq 6]
7 then
8 echo "inc = 1"
9 else
10 echo " inc = 2"
11 fi
12 COMMENTBLOCK
13
14 case $month in
15 3|6|9|12) echo "Yes";;
16 *) echo "No";;
17 esac
18
19 echo "This is the last line"
Query : I need to block the line number from 5 to 12 (except # option and line no from 14 to 19 should execute as usual. Can you pls give the solution for it?
Many of Unix Experts are replied for my query. Many thanks to you.
I have found this bit of code that nearly does what I want.
Basically 3 input fields, I want to copy t2 to t3 as it's typed but only if t1 contains data AND t3 is empty:
<input type="text" id="t1" />
<input type="text" id="t2" />
<input type="text" id="t3" />
<script> var t2 =... (4 Replies)
I have an xml file which has following code :
<abc-ref>
<abc-name>abc.efg.hij.klm</abc-name>
</abc-ref>
I want to comment this whole section out and I have written the following script : (where "hij" is unique string in the file)
TEMPFILE=replaceYY.tmp
file=hello.xml
sed -n... (6 Replies)
Hi
I'm trying to comment out specific lines from /etc/fstab file, for simplicity I'm trying to use perl one liner but it errors out,
Below is the Perl oneliner I'm using,
perl -wlp -i -e 'BEGIN{$flag=0}if (!/root/) && (!/boot/) && (!/tmpfs/) ) {$flag =1;} elsif (/^$/) {$flag=0} if ($flag)... (2 Replies)
Hi All,
I know we can comment by using "#" .... I want to know... is there any way to comment a whole big script easily....
In a file i need to comment more than 15 lines ........ and check the script and un comment back.
I am learning VI now so its taking lot of time to comment and un... (4 Replies)
Hi All,
I am struggling to get my head around the following issue.
I am having to comment out lines between two delimiters by placing an asterix in position 7 but retain all lines in the file and in the same order.
so for example a file containing:
...
...
DELIM1
...
...
DELIM2... (2 Replies)
Hi
can any body pls help me :
I have a file Which Content is like following:
p3:s1234:powerfail:/usr/sbin/shutdown -y -i5 -g0 >/dev/msglog 2<>/dev/msglog
ca:3:respawn:/opt/GoldWing/currentPM/local/critagt > /dev/msglog 2<>/dev/msglog
ca:3:respawn:/opt/GoldWing/currentPM/local/startcia.sh... (2 Replies)
Hi All
I have a requirement like, where a file gets generated in a particular dir and once the file is ready and available then I want to execute rest of the script, because untill and unless the file exists and is available there is no use of running rest of the commands in that script.
... (5 Replies)