finding * in command line argument


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting finding * in command line argument
# 1  
Old 11-04-2009
finding * in command line argument

I have to write a script to determine whether given command line argument ($1) contains "*" symbol or not, if $1 does not contains "*" symbol add it to $1, otherwise show message "Symbol is not required". For e.g. If we called this script q5 then after giving ,
$ q5 /bin
Here $1 is /bin, it should check whether "*" symbol is present or not if not it should print Required i.e. /bin/*, and if symbol present then Symbol is not required must be printed. Test your script as
$ q5 /bin
$ q5 /bin/*
# 2  
Old 11-05-2009
what about the slash ?
Code:
echo -n "$1"
echo "$1" | grep -q '*' || echo '/*'

# 3  
Old 11-05-2009
print /* not just *

i tries ur code ..
echo -n "$1"
echo "$1" | grep -q '*' || echo '/*'
its prints :
for sh file.sh /bin
--> /bin/*

for sh file.sh /bin/*
--> /bin/alsacard/*

so can you plzz see that and tell me the reason for that , also suggest something else..
# 4  
Old 11-05-2009
Quote:
Originally Posted by cynosure2009
I have to write a script to determine whether given command line argument ($1) contains "*" symbol or not, if $1 does not contains "*" symbol add it to $1, otherwise show message "Symbol is not required". [...] Test your script as
$ q5 /bin
$ q5 /bin/*
Homework?

Also, if you pass an unquoted asterisk on the command line, most shell automatically expand it to all files. So /bin/* gets expanded to (exemplary)
Code:
$ q5 /bin/test /bin/true /bin/false /bin/mount ...

# 5  
Old 11-05-2009
No, this is not a homework.. i was facing problem in finding difficulty in printing /bin/*
(it always prints /bin/alsacrad/* ) thats why i posted a thread
# 6  
Old 11-05-2009
As pludi told you, you should learn about the shell before you start writing shell-scripts.

Just try "echo /bin/*", you'll see where the alsacard comes from.

Your script will only see the * if no file corresponds to the pattern given on the command line.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Command line argument

Hi Guys, I'm trying to work out how to add a command line argument inside single quotes. Would anyone be able to help please as I'm going mad :) I want to be able to place the filename on command line and it then be used in a script but it needs to have quotes surrounding it. Thanks in... (4 Replies)
Discussion started by: mutley2202
4 Replies

2. Shell Programming and Scripting

Checking has for a command line argument

I would like to search and print a match of the user entered $ARGV. Im terrible with hashes and really dont know where to go from here. The example data file name location phone Bugs holeintheground 5551212 Woody holeinthetree 6661313 Jerry holeinthewall 7771414... (4 Replies)
Discussion started by: sumguy
4 Replies

3. Shell Programming and Scripting

Specify an entire UNIX command as a command line argument

I'm trying to write a bash script called YN that looks like the following YN "Specify a question" "doThis" "doThat" where "doThis" will be executed if the answer is "y", otherwise "doThat". For example YN "Do you want to list the file dog?" "ls -al dog" "" Here's my attempt... (3 Replies)
Discussion started by: LeoKSimon
3 Replies

4. Shell Programming and Scripting

command line argument - perl

how do i check if a command line argument is -g? for example, if command line argument equals "-g" { print "Goodbye \n"; } else { print "Welcome to the program! \n"; } (1 Reply)
Discussion started by: bshell_1214
1 Replies

5. Shell Programming and Scripting

command-line line 0: Missing yes/no argument

Hi Guys When I run the below command ssh -o 'PasswordAuthentication yes' -o 'PreferredAuthentications publickey' -i $HOME/.ssh/id_dsa Server_Name I found the below error ommand-line line 0: Missing yes/no argument Kindly help me to sort out Double post, continued... (0 Replies)
Discussion started by: Pratik4891
0 Replies

6. Programming

Command Line Argument

Hi, I have a very simple C program which will run in UNIX. When i am passing * as the command line argument, i am gettig the below output. Program: #include <stdio.h> #include "mylibrary.h" int **environ; int main(int argc,char *argv) { int i; printf("\nHello... (2 Replies)
Discussion started by: dsudipta
2 Replies

7. Shell Programming and Scripting

assign a command line argument and a unix command to awk variables

Hi , I have a piece of code ...wherein I need to assign the following ... 1) A command line argument to a variable e.g origCount=ARGV 2) A unix command to a variable e.g result=`wc -l testFile.txt` in my awk shell script When I do this : print "origCount" origCount --> I get the... (0 Replies)
Discussion started by: sweta_doshi
0 Replies

8. Shell Programming and Scripting

How to get the value in last command line argument???

Say I want to get the value of last command line argument using the value in $# (or some other way if u can suggest) how do I do it?? $"$#" `$"$#"` These don't work :( (4 Replies)
Discussion started by: amit_oddey21
4 Replies

9. Shell Programming and Scripting

passing a command line argument

I have a shell script which does the encryption of a file where i am passing the file name as a command line argument,but later on the script waits on the screen to enter Y or N what is the command i should be using on the shell script #!/bin/bash -x outfilename=file.out echo... (8 Replies)
Discussion started by: rudoraj
8 Replies

10. UNIX for Dummies Questions & Answers

array as command line argument !!!!

hello, can any help me how to can pass array as command line argument in korn shell. also how to read a array from command line. thanks spandu (2 Replies)
Discussion started by: spandu
2 Replies
Login or Register to Ask a Question