anyone!! debug this small script..thanks in advance..


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting anyone!! debug this small script..thanks in advance..
# 1  
Old 12-26-2008
anyone!! debug this small script..thanks in advance..

x="PermitRootLogin no"
cd /etc/ssh
y=`cat sshd_config |grep "PermitRootLogin"`
if [[ "$x" = "$y" ]]
then print "Sorry, Remote Root SSH login already disabled."
exit
else print "Welcome to Remote SSH Login disable script."
fi
output:

+ x=PermitRootLogin no
+ cd /etc/ssh
+ + cat sshd_config
y=PermitRootLogin no
+ [[ PermitRootLogin no = PermitRootLogin no ]]
+print " Welcome to Remote Root SSH Login disable script.
Welcome to Remote Root SSH Login disable script.
Here both $x=$y=PermitRootLogin no. Still it is executing as if $x!=$y ???
I worked around in another way,,but can someone tell me what is wrong with this damn script??
thanks in advance.
# 2  
Old 12-26-2008
Hi,

take a close look at your variables.
$y begins with some spaces, $x doesn't.
Consequently:
Code:
if [[ "$x" = "$y" ]]

won't match, but

Code:
[[ "$x" = *"$y"* ]] && echo hit || echo miss

or

Code:
[[ "$x" =~ "$y" ]] && echo hit || echo miss

should.

HTH Chris
# 3  
Old 12-26-2008
Code:
:> cat test
x=no
y=$(grep PermitRootLogin /etc/ssh/sshd_config | awk '{print $2}')
if [[ $y = $x ]]; then
   echo "already disabled"
else
   echo "welcome to disable script"
fi

:> ksh -kx /tmp/test
+ x=no
+ + awk {print $2}
+ grep PermitRootLogin /etc/ssh/sshd_config
y=yes
+ [[ yes = no ]]
+ echo welcome to disable script
welcome to disable script

What your code is comparing is
Code:
 no = RootPermitLogin

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Ubuntu

Debug script

How can I debug this script? I want to know what it is doing or not doing? #!/bin/bash # # if ; then # Do the thing you want before suspend here echo "we are suspending." > /tmp/systemd_suspend_test.txt elif ; then # Do the thing you want after resume here echo "and we are... (21 Replies)
Discussion started by: drew77
21 Replies

2. Shell Programming and Scripting

Debug perl script

Hi, I am trying to get squid up and running using a redirector process, and every time I try to load a web page, squid fails miserably. Can some one with perl and squid knowledge take a look at these codes and tell if something is wrong here. #!/usr/bin/perl # $| = 1; @endings = qw/... (0 Replies)
Discussion started by: jamie_123
0 Replies

3. Shell Programming and Scripting

Debug script already running

Hello, is it possible to debug a script that is already running "on-demand"? Somehow a command like "set -x" but once you've executed the script. And another one to disable debugging? Thank you (0 Replies)
Discussion started by: asanchez
0 Replies

4. Shell Programming and Scripting

Cant debug shell script

Hi I am relatively new in shell scripting Below is the code which i developed but for some reason, it keeps giving me error: /apps/bss/BatchProg/at1/batch/scripts/ksh/TBATLC02.ksh: syntax error at line 41 : `then' unmatched #!/usr/bin/ksh... (4 Replies)
Discussion started by: scripting_newbe
4 Replies

5. Shell Programming and Scripting

Help with debug the script

Hi, I have this script, searches and sets variables, then searches and sets more variables from multiple files. I'd need to debug it a bit. #!/bin/bash egrep $1 `find | grep MAGT` >/tmp/resRA-$$ thread=`sed -n '/{0x/ {s/^.*{0x\(*\).*/\1/p;q}' /tmp/resRA-$$` tag=`sed -n '/Tag=/... (5 Replies)
Discussion started by: Vitoriung
5 Replies

6. Shell Programming and Scripting

Problem with the script, help me debug

Hi, When i run the script ./script.sh sun, this give me no output, it should give me the list of file. If i run the script without the argument it should send me echo inside usage(). What is the problem? please help -Adsi #!/bin/sh ROOT_PATH=/net/icebox/vol/local_images/spins... (2 Replies)
Discussion started by: asirohi
2 Replies

7. Shell Programming and Scripting

Please help to debug a small shell script (maybe AWK problem)?

Hi Buddies, The following is shell scripts which was borrowed from linux box for load average check. it runs good. (this structure is simple, when load average is too high, it will send alert to user) #!/usr/bin/ksh # Set threshold for 1, 5 and 15 minture load avarage # configured for... (4 Replies)
Discussion started by: GreatJerry
4 Replies

8. Shell Programming and Scripting

debug this script

echo "input time in hhmmss" read $st h=`echo $st | cut -c1-2` min=`echo $st | cut -c3-4` s=`echo $st | cut -c5-6` echo "input time in hhmmss" read $end h1=`echo $end | cut -c1-2` min1=`echo $end | cut -c3-4` s1=`echo $end | cut -c5-6` x= `expr $h /* 60 + $min` y= `expr $h1 /* 60 +... (8 Replies)
Discussion started by: abhishek27
8 Replies

9. Shell Programming and Scripting

How to debug the awk script

Hi, How can I debug an awk script? I know that set -x can be used to debug a script. But this will not suite for awk scripts. Can anyone help me? Thanks in advance, Chella (2 Replies)
Discussion started by: chella
2 Replies

10. Shell Programming and Scripting

Debug an Awk Script

I would like to extract the following fields from the text file attached. I copied the contents from a pdf file and pasted them into the text file so I can use awk to extract them. The layout is as listed below. name1,name2,name3,name4,Title,designation,nationality,dob, national ... (1 Reply)
Discussion started by: mboro
1 Replies
Login or Register to Ask a Question