Execute script in Folder with Lower & Upper case


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Execute script in Folder with Lower & Upper case
# 1  
Old 05-16-2018
Tools Execute script in Folder with Lower & Upper case

My script test.sh requires an argument and it could be present on a list of servers under a folder with name either in upper or lower case like below:

For example:
Quote:
on ServerA:
/u/myfolder/scripts/test.sh

on ServerB:
/u/Myfolder/scripts/test.sh
i want a generic command for calling the test.sh script and pass one argument

Below is what i tried but it is failing
Code:
/u/[Mm]yfolder/scripts/test.sh argument1
Ouptut Error: No such file or directory

Note: ls -ltr /u/[Mm]yfolder/scripts/test.sh works fine and translates to the correct location.

Can you please suggest ?

Last edited by mohtashims; 05-16-2018 at 07:14 AM..
# 2  
Old 05-16-2018
What shell are you using to run the command:
Code:
ls -ltr /u/[Mm]yfolder/scripts/test.sh

?

What shell are you using to run the command:
Code:
/u/[Mm]yfolder/scripts/test.sh argument1

?

What operating system are you using to run both of these commands?
# 3  
Old 05-16-2018
Hammer & Screwdriver

Quote:
Originally Posted by Don Cragun
What shell are you using to run the command:
Code:
ls -ltr /u/[Mm]yfolder/scripts/test.sh

?
Answer:bash on Linux OS

What shell are you using to run the command:
Code:
/u/[Mm]yfolder/scripts/test.sh argument1

?
Answer:bash or ksh

What operating system are you using to run both of these commands?
Answer: SunOS mymachine1 5.11 11.3 sun4v sparc sun4v

This works fine on Linux. The issue is with SunOS Solaris. I will appreciate a solution that works for Unix and Linux both. Can you please suggest ?

Last edited by mohtashims; 05-16-2018 at 11:33 AM..
# 4  
Old 05-17-2018
In your question, you say that the *name* of the folder can be upper- or lower case, so I guess this is just an example, where only the first letter of the folder name can be upper- or lower case.

A bash or ksh wildcard expression of all possible folder places for the script would be

Code:
/u/[Mm][yY][fF][oO][lL][dD][eE][rR]/scripts/test.sh

If there would be exactly one path matching this expression, you are done. However, in my experience, if you are working in an environment where you can't even predict the upper/lower case of the letters in a directory entry, you will sooner or later find a situation where you have both /u/myfolder/.... and, say, /u/MyFolder/...

Hence I would first store the list of all pathes matching this expression into an array, and if the array size is not equal one, I would abort with an error message.
# 5  
Old 05-17-2018
I can state categorically that if the following are true:
  1. there is one and only one file that matches the shell pathname matching pattern /u/[Mm]yfolder/scripts/test.sh,
  2. the pathname that matches that pattern is a regular file,
  3. the permissions on the pathname that matches that pattern allows execution by the person entering the following command, and
  4. the command /u/[Mm]yfolder/scripts/test.sh argument1 is typed into a bash or ksh interactive shell at a shell prompt; is entered as a simple command in a valid, non-interactive bash or ksh shell script; and all of the commands in that script are valid on all systems on which you are running that script
then the command will work on both a Solaris system and on a Linux system. If any of the above conditions are not met, there is no way that we can guess at which of the above conditions is causing your attempts to fail with what you have shown us.

Likely problems would include specifying Linux specific options to one or more commands in the script the you are executing that are not valid on your Solaris system, that you have specified a path in the script that you are executing that is valid on your Linux system but is not valid on your Solaris system, or giving that pathname matching pattern to something other than a shell that uses Bourne shell syntax.

With all of the details that you have hidden from us, there is no way for us to tell you what you need to do to fix your problem.
# 6  
Old 05-17-2018
Tools

There are two files matching the pattern as shown below:

Code:
 
 $ ls -ltr /u/myfolder/scripts/test.sh
-rwxr-xr-x   1 user1  wladmin   15365 Mar 21  2012 /u/myfolder/scripts/test.sh

 $ ls -ltr /u/Myfolder/scripts/test.sh 
 -rwxr-xr-x   1 user1     wladmin   15365 Mar 21  2012 /u/Myfolder/scripts/test.sh

The issue is that it is not recognizing the argument being passed

Code:
$ /u/[mM]yfolder/scripts/test.sh status
Usage: /u/myfolder/scripts/test.sh { start | stop | restart | status }

When it remove [mM] it works fine as shown below.

Code:
$ /u/myfolder/scripts/test.sh status
Apache Server App is running (24281).

Please suggest.
# 7  
Old 05-17-2018
Quote:
Originally Posted by mohtashims
There are two files matching the pattern as shown below:


Please suggest.
????

But this is EXACTLY the problem I pointed out in my answer to your post. What exactly is not clear with the suggestion I gave?

Ronald
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Change first letter of a word from lower case to upper case

Hi all, I am trying to find a way to change first letter in a word from lower case to upper case. It should be done for each first word in text or in paragraph, and also for each word after punctuation like . ; : ! ?I found the following command sed -i 's/\s*./\U&\E/g' $@ filenamebut... (7 Replies)
Discussion started by: georgi58
7 Replies

2. UNIX for Dummies Questions & Answers

To convert Lower case to Upper Case

There is a script where we pass the parameter in lower case: say: . ./scriptName pArameter #!/bin/ksh echo "`date` Entering $0 Reloading the $1 table " mname1=$1 (code to login MYSQL Database) Truncate table $mname1; exit ! Since now there is a limitaion of MYSQL that it accept... (5 Replies)
Discussion started by: ambarginni
5 Replies

3. Shell Programming and Scripting

converting to lower case or upper case

here is a code column_name="vivek" column_name2="ViVeK" column_name=$(echo $column_name | awk '{print tolower($0)}') column_name2=$(echo $column_name2 | awk '{print tolower($0)}') echo "column name 1 lower: $column_name" echo "column name... (6 Replies)
Discussion started by: vivek d r
6 Replies

4. Shell Programming and Scripting

Conversion from Upper Case to Lower Case Condition based

Hello Unix Gurus : It would be really appreciative if can find a solution for this . I have records in a file . I need to Capitalize the records based on condition . For Example i tried the following Command COMMAND --> fgrep "2000YUYU" /export/home/oracle/TST/data.dat | tr '' ''... (12 Replies)
Discussion started by: tsbiju
12 Replies

5. Shell Programming and Scripting

[Solved] Change Upper case to Lower case in C shell

Is there a command that can switch a character variable from UPPER case to lower case? like foreach AC ( ABC BCD PLL QIO) set ac `COMMAND($AC)` ... end Thanks a lot! (3 Replies)
Discussion started by: rockytodd
3 Replies

6. Shell Programming and Scripting

data array needs to change upper case to lower case

Hi all, i have a data array as followes. ARRAY=DFSG345GGG ARRAY=234FDFG090 ARRAY=VDFVGBGHH so on.......... i need all english letters to be change to lower case. So i am expecting to see ARRAY=dfsg345ggg ARRAY=234fdfg090 ARRAY=vdfvgbghh so on........ If i have to copy this data in... (8 Replies)
Discussion started by: usustarr
8 Replies

7. Shell Programming and Scripting

Script to Convert Upper case to Lower case

Hi All I have a script which extracts values from a Database (A persons name) and puts it into a variable in my script IE: $NAME However the Value in the DB is all in uppercase and contains the users first name and last name EG: > echo $NAME GRAHAM BOYLE > What I need is only the... (7 Replies)
Discussion started by: grahambo2005
7 Replies

8. Shell Programming and Scripting

convert upper case to lower case in ascript

I have a package to install and the installation script which does it . The files/directories names in the script are all lower case but the actual package has everything in upper case - file names, directories . I don't want to rename directories and files in the package - it has a lot of them . ... (2 Replies)
Discussion started by: vz6zz8
2 Replies

9. Shell Programming and Scripting

how to convert value in a variable from upper case to lower case

Hi, I have a variable $Ctrcd which contains country names in upper case and i want to convert them into lower case. I have tried so many solutions from already existing threads but couldn't get the correct one. Can anybody help me with this..... Thanks a lot.. (2 Replies)
Discussion started by: manmeet
2 Replies

10. UNIX for Dummies Questions & Answers

lower case to upper case string conversion in shell script

How can convert a Lower case variable value to an upper case in the kron shell script. (3 Replies)
Discussion started by: dchalavadi
3 Replies
Login or Register to Ask a Question