Skip to main content
added 16 characters in body
Source Link
muru
  • 78.1k
  • 16
  • 213
  • 319

I'm trying to put together a generic script that will check the existence of several key directories for various users on different servers. Additionally, I want to leverage each user's $HOME variable.

For eg, let's say this were true: on server 1: jdoe's home is /home/jdoe on server 2: jdoe's home is /opt/jdoe2 server 3 hasn't been built yet; we won't know where they build his $HOME until the server is built. on server 4: mysql's home is /opt/home/mysql

  • on server 1: jdoe's home is /home/jdoe
  • on server 2: jdoe's home is /opt/jdoe2
  • server 3 hasn't been built yet; we won't know where they build his $HOME until the server is built.
  • on server 4: mysql's home is /opt/home/mysql

This is what I have for my important directories (ordered from most to least impt):

$ cat mylist.txt $HOME/most_impt_dir1 $HOME/most_impt_dir2 $HOME/most_impt_dir3 $HOME/misc $HOME/junk

$ cat mylist.txt
$HOME/most_impt_dir1
$HOME/most_impt_dir2
$HOME/most_impt_dir3
$HOME/misc
$HOME/junk

...I want to find the most impt dir owned by this user.

Here's what I'm trying:

for i in `cat mylist.txt`
do

  if [[ -O $i ]] && [[ -d $i ]]; then
    echo "found it: $i"
    break
  else
    echo "$i is not it."
  fi

done

The above code does not work for anything in my list because it is literally checking for dirs beginning with '$HOME'$HOME. How do I get my code to use the value of the user's $HOME$HOME variable?

Thanks in advance.

I'm trying to put together a generic script that will check the existence of several key directories for various users on different servers. Additionally, I want to leverage each user's $HOME variable.

For eg, let's say this were true: on server 1: jdoe's home is /home/jdoe on server 2: jdoe's home is /opt/jdoe2 server 3 hasn't been built yet; we won't know where they build his $HOME until the server is built. on server 4: mysql's home is /opt/home/mysql

This is what I have for my important directories (ordered from most to least impt):

$ cat mylist.txt $HOME/most_impt_dir1 $HOME/most_impt_dir2 $HOME/most_impt_dir3 $HOME/misc $HOME/junk

...I want to find the most impt dir owned by this user.

Here's what I'm trying:

for i in `cat mylist.txt`
do

  if [[ -O $i ]] && [[ -d $i ]]; then
    echo "found it: $i"
    break
  else
    echo "$i is not it."
  fi

done

The above code does not work for anything in my list because it is literally checking for dirs beginning with '$HOME'. How do I get my code to use the value of the user's $HOME variable?

Thanks in advance.

I'm trying to put together a generic script that will check the existence of several key directories for various users on different servers. Additionally, I want to leverage each user's $HOME variable.

For eg, let's say this were true:

  • on server 1: jdoe's home is /home/jdoe
  • on server 2: jdoe's home is /opt/jdoe2
  • server 3 hasn't been built yet; we won't know where they build his $HOME until the server is built.
  • on server 4: mysql's home is /opt/home/mysql

This is what I have for my important directories (ordered from most to least impt):

$ cat mylist.txt
$HOME/most_impt_dir1
$HOME/most_impt_dir2
$HOME/most_impt_dir3
$HOME/misc
$HOME/junk

...I want to find the most impt dir owned by this user.

Here's what I'm trying:

for i in `cat mylist.txt`
do

  if [[ -O $i ]] && [[ -d $i ]]; then
    echo "found it: $i"
    break
  else
    echo "$i is not it."
  fi

done

The above code does not work for anything in my list because it is literally checking for dirs beginning with $HOME. How do I get my code to use the value of the user's $HOME variable?

Source Link

how do I get my code to use the value of the $HOME variable?

I'm trying to put together a generic script that will check the existence of several key directories for various users on different servers. Additionally, I want to leverage each user's $HOME variable.

For eg, let's say this were true: on server 1: jdoe's home is /home/jdoe on server 2: jdoe's home is /opt/jdoe2 server 3 hasn't been built yet; we won't know where they build his $HOME until the server is built. on server 4: mysql's home is /opt/home/mysql

This is what I have for my important directories (ordered from most to least impt):

$ cat mylist.txt $HOME/most_impt_dir1 $HOME/most_impt_dir2 $HOME/most_impt_dir3 $HOME/misc $HOME/junk

...I want to find the most impt dir owned by this user.

Here's what I'm trying:

for i in `cat mylist.txt`
do

  if [[ -O $i ]] && [[ -d $i ]]; then
    echo "found it: $i"
    break
  else
    echo "$i is not it."
  fi

done

The above code does not work for anything in my list because it is literally checking for dirs beginning with '$HOME'. How do I get my code to use the value of the user's $HOME variable?

Thanks in advance.