HELP on checking for directory or symbolic link


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting HELP on checking for directory or symbolic link
# 8  
Old 08-31-2012
Check the highlighted part.......Smilie

Quote:
Originally Posted by newbie_01

Also tried CarloM's suggestion and same problem.

Hi CarloM,

Tried your suggestion, unfortunately, now it goes like below:

Code:
tmp $: ls -ltrd dir*
drwxr-x--x   2 oracle   dba         4096 Aug 31 23:42 dir1
drwxr-x--x   2 oracle   dba         4096 Aug 31 23:42 dir2
lrwxrwxrwx   1 oracle   dba            4 Aug 31 23:43 dir3 -> /tmp
tmp $: cat y.ksh
#!/bin/ksh

for checkdir in dir*
do
   echo "Checking ${checkdir}"

   if [[ -h "${checkdir}" ]] ; then
      echo "... ${checkdir} is a directory"  # What is this ????? You are checking for link and printing result as directory...
   elif [[ -d "${checkdir}" ]] ; then
      echo "... ${checkdir} is a symbolic link"
   fi
done
tmp $: cat z.ksh
#!/bin/ksh

for checkdir in dir*
do
   echo "Checking ${checkdir}"

   if [[ -L "${checkdir}" ]] ; then
      echo "... ${checkdir} is a directory"
   elif [[ -d "${checkdir}" ]] ; then
      echo "... ${checkdir} is a symbolic link"
   fi
done
tmp $: ./y.ksh
Checking dir1
... dir1 is a symbolic link
Checking dir2
... dir2 is a symbolic link
Checking dir3
... dir3 is a directory
tmp $: ./z.ksh
Checking dir1
... dir1 is a symbolic link
Checking dir2
... dir2 is a symbolic link
Checking dir3
... dir3 is a directory
tmp $:

# 9  
Old 09-01-2012
Quote:
Any chance that there is a test where it will not try and resolve what the symbolic link is linking to?
None that I can think of which use test.

There is a complex method with find ! -follow.

This is a generic answer.
We don't know what Operating System and version you have or what version of Korn Shell you are running.
Even having test -h rather than test -L syntax suggests that this is not mainstream unix.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Symbolic link

Hi, trying to understand more about symblic link, when I compiled a program called "match" in one folder ~/downloadsoftware/I want this program to be accessible like a system command by putting a symbolic link in /usr/bin/ Not by setting the $PATH method in .bashrc at this time. What I did is:... (4 Replies)
Discussion started by: yifangt
4 Replies

2. UNIX for Dummies Questions & Answers

[Solved] Symbolic link not allowed or link target not accessible

Hi everybody, I read about treads realted to this issue but they did not resovle issue given below. Please help me resolve issue given below I have html file under /srv/www/htdocs/actual_folder ls actual_folder/ test.html and following link works... (0 Replies)
Discussion started by: newbielgn
0 Replies

3. Shell Programming and Scripting

ls on a symbolic link

Hi all, Can anyone please confirm if the command below is the only way that I can get what the symbolic link is set to? mnlxd110(oracle)/db/posd2/dba$: ls -l | grep "^l" lrwxrwxrwx 1 oracle dba 28 Aug 9 2011 bdump -> diag/rdbms/posp1/posp1/trace mnlxd110(oracle)/db/posd2/dba$:... (7 Replies)
Discussion started by: newbie_01
7 Replies

4. UNIX for Dummies Questions & Answers

Symbolic link for an existing directory

Hi , i am trying to make a symbolic link for an existing directory, but i am facng some problems regarding the usage of command. If there is no directory i can make a symbolic link, but for an existing directory i am not able to. can anyone post me the exact usage if we already have the... (1 Reply)
Discussion started by: sahasra
1 Replies

5. Shell Programming and Scripting

Symbolic Link Help

Hello All, This may be a silly question to some but I am really stuck. Is there a way to reverse the following; sudo rm /bin/sh sudo ln -s /bin/bash /bin/sh It was part of a driver compile/installation procedure by Digi for Ubuntu stating that dash isn't supported and a symbolic link... (2 Replies)
Discussion started by: LAVco
2 Replies

6. Shell Programming and Scripting

symbolic link

Hi, i am trying to create sym links on sles 11 , but it seems i am doing something wrong. oracle@tests:/u01/app/oracle/oradata/ACIS> pwd /u01/app/oracle/oradata/ACIS oracle@tests:/u01/app/oracle/oradata/ACIS> ln -s /db/ACIS/dbase/dbf/ /u01/app/oracle/oradata/ACIS/... (2 Replies)
Discussion started by: tonijel
2 Replies

7. UNIX for Advanced & Expert Users

Any risk in chging /etc/conf/pack.d directory symbolic link?

We are migrating off an unsupported Stratus Continuum Model 418 PA-RISC running FTX 3.3.0. We're trying to hang on as long as possible, but we're down to 2.8% free in /, so need to free up some space until we're ready to migrate our DB. Currently /etc/conf/pack.d is symbolically linked to... (0 Replies)
Discussion started by: kgert
0 Replies

8. Solaris

How to copy a symbolic link

Hi I am trying to find a copy command that will copy a symbolic link itself and not what the link is actually pointing to. I am trying to copy a directory that has some symbolic links within it in IBM AIX unix this is achieved using cp -prh <source dir> <target> the 'h' flag is a hard copy... (3 Replies)
Discussion started by: jimthompson
3 Replies

9. UNIX for Dummies Questions & Answers

need some info about symbolic link and hard link

hello folks how y'all doin well i have some questions about symbolic link and hard link hope some one answer me i open terminal and join as root and i wrote ln -s blah blah then i wrote ls i see red file called blah blah but didn't understand what is this can some one explain and... (2 Replies)
Discussion started by: detective linux
2 Replies

10. UNIX for Dummies Questions & Answers

symbolic Link

question abt symbolic link ... i'm doing the following ... ln -s x.sh ./scripts/y.sh and cat ./scripts/y.sh it is giving following error cat: cannot open y.sh Any reason u an think of ? But it is working fine when i goto scripts directory and cretae the symbolic link. ... (1 Reply)
Discussion started by: bhargav
1 Replies
Login or Register to Ask a Question