Sponsored Content
Top Forums Shell Programming and Scripting Help with Accepting Directories as an Argument Post 302478387 by Chubler_XL on Tuesday 7th of December 2010 09:59:40 PM
Old 12-07-2010
Code:
#!/bin/ksh
if [ $# -lt 1 ]
then
    echo "Usage: myscript dir [dir ...]" >&2
    exit 1
fi
 
while [ $# -gt 0 ]
do
    dir=$1
    if [ ! -d "$dir" ]
    then
        echo "Not a directory: $dir"
        exit 2
    fi
    .
    .
    .
    shift
done

---------- Post updated at 12:59 PM ---------- Previous update was at 12:41 PM ----------

Down side of above is that it processes directories before all the parameters are checked.

This solution is better, but more complex as it uses an array to store the directories.

Both solutions work fine even if directory names contain one or more spaces:

Code:
#!/bin/ksh
if [ $# -lt 1 ]
then
    echo "Usage: myscript dir [dir ...]" >&2
    exit 2
fi
 
i=0
while [ $# -gt 0 ]
do
    if [ ! -d "$1" ]
    then
        echo "Not a directory: $1"
        exit 2
    fi
    dirs[i++]="$1"
    shift
done
 
i=0
while [ $i -lt ${#dirs[@]} ]
do
   echo Process directory ${dirs[i]} here...
   let i+=1
done

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Not able to display the value I am accepting as an argument

Hi, I am new to UNIX. I am facing some problem here. #! /usr/bin/ksh currDate = $1 export currDate; echo " Date is $currDate" when I run this script, it says : currDate not found. Can anybody point out the mistake please. --mahek (3 Replies)
Discussion started by: mahek_bedi
3 Replies

2. UNIX for Dummies Questions & Answers

How to find the last argument in a argument line?

How to find the last argument in a argument line? (4 Replies)
Discussion started by: nehagupta2008
4 Replies

3. Shell Programming and Scripting

get positive number n as argument script must calculate the factorial of its argument

Can someone please help me with this SHELL script? I need to create a script that gets a positive number n as an argument. The script must calculate the factorial of its argument. In other words, it must calculate n!=1x2x3x...xn. Note that 0!=1. Here is a start but I have no clue how to... (3 Replies)
Discussion started by: I-1
3 Replies

4. UNIX for Dummies Questions & Answers

accepting input date

I how do i accept a input date in script which is lesser than a specified day? ex: to accept a date less than or equal to 100 days(from today).?:( Thanks for the help in advance.:) (1 Reply)
Discussion started by: abhi_123
1 Replies

5. Shell Programming and Scripting

Accepting A-Za-Z

Is there a way accept A-Za-z0-9 from the user from a parameter? EX. I want to take the parameter from the user even if its hEu or H3y and store it as a parameter ( $1 ) (18 Replies)
Discussion started by: puttster
18 Replies

6. Shell Programming and Scripting

Cannot compare argument in if statement in csh/grep command if argument starts with “-“

If ($argv == “-debug”) then Echo “in loop” Endif But this is not working. If I modify this code and remove “-“, then it works. Similarly I am getting problem using grep command also Grep “-debug” Filename Can someone please help me on how to resolve these... (1 Reply)
Discussion started by: sarbjit
1 Replies

7. Shell Programming and Scripting

Accepting Input regardless of Case

Hi I am trying to get my script to accept input regardless if the person enters a or A. here is the portion of the code where I get the input. echo -n 'Please enter your choice:' # prompt user for input. read reply # read input echo case $reply in #... (2 Replies)
Discussion started by: DualPandas
2 Replies

8. Shell Programming and Scripting

script accepting password

Hi friends, I am very new to Unix scripting and having some difficulty in my first shell script. I have written a simple shell script to upload an artifact to a remote machine on the network. echo "Uploading the artifact" scp app.war username@remotemochine.domainname.net:/home/deployables... (3 Replies)
Discussion started by: prashdeep
3 Replies

9. UNIX for Advanced & Expert Users

Error:--test: argument expected--Even though i give an argument.

Hi All, I am running the script VBoxManage list vms |sed 's/"//g' | cut -d " " -f1 > har1out.mytxt result=`cat har1out.mytxt | grep $1' echo $result echo $1 { if then echo pass else echo fail fi (2 Replies)
Discussion started by: harsha85
2 Replies

10. Shell Programming and Scripting

Accepting search pattern to script argument

I have a script in tcsh and I want to have a find option to which I can pass a file search pattern I want using the command: /home/chrisd/tatsh/trunk/hstmy/bin/tcsh/raytrac.tcsh -f=*rc* The set command seems to fail when user does not supply a search pattern (if user just supplies -f, a... (2 Replies)
Discussion started by: kristinu
2 Replies
update-fonts-dir(8)					      System Manager's Manual					       update-fonts-dir(8)

NAME
update-fonts-dir - compile fonts.dir files SYNOPSIS
update-fonts-dir [OPTION] directory ... DESCRIPTION
update-fonts-dir creates a fonts.dir file in an X font directory by invoking mkfontdir(1x) with the appropriate arguments. It is typically invoked only from the post-installation and post-removal scripts of a package containing fonts for the X Window System, but may be invoked at any time to reconstruct fonts.dir files. For each directory, which is simply the last component of its path (such as '75dpi' or 'misc'), update-fonts-dir will generate either /usr/lib/X11/fonts/directory/fonts.dir or /usr/share/fonts/X11/directory/fonts.dir from the fonts.scale and font files found within it. This enables multiple packages to provide names for fonts in the same directory. No font package actually provides the fonts.dir file in the X font directory itself, so there is no danger of overwriting one package's font names with those of another. For instance, the two packages 'xfonts-base' (real) and 'xfonts-nifty' (hypothetical) may both install fonts into the directory /usr/lib/X11/fonts/misc, and update-fonts-dir will ensure that the fonts.dir file in that directory contains information about the font files provided by both packages. The format of fonts.dir files is described in the mkfontdir(1x) manual page. An example of how to use update-fonts-dir in package maintainer scripts is provided in the Debian Policy Manual. OPTIONS
-h, --help displays a brief usage message and exits. -7, --x11r7-layout switches the font layout to the one introduced in X11R7: fonts in /usr/share/fonts/X11/directory (default is: fonts in /usr/lib/X11/fonts/directory) OPERANDS
update-fonts-dir takes one or more X font directory names to operate on as operands. Only the final path component of the directory name should be specified; e.g., update-fonts-dir 75dpi is correct, while 'update-fonts-dir /usr/X11R6/lib/X11/fonts/75dpi' and 'update-fonts-dir /usr/lib/X11/fonts/75dpi' are not. ENVIRONMENT
COLUMNS indicates the width of the terminal device in character cells. This value is used for formatting diagnostic messages. If not set, the terminal is queried using stty(1) to determine its width. If that fails, a value of '80' is assumed. DIAGNOSTICS
Errors usage error: one or more font directories must be provided update-fonts-dir was invoked without operands. Supply one or more X font directory names to operate on. usage error: unrecognized option update-fonts-dir was invoked with an unrecognized option argument. Use only the options documented in "OPTIONS", above. fatal error: path to X font directory must be used A directory name was supplied that was not an X font directory name. Supply X font directory names only. Warnings warning: absolute path directory was provided Usage of absolute paths is deprecated. Use only the final component of the X font directory name for directory. warning: directory does not exist or is not a directory The supplied directory was invalid. update-fonts-dir skipped it. EXIT STATUS
0 update-fonts-dir ran successfully. 1 update-fonts-dir experienced a fatal error; see the section on diagnostic messages above. 2 update-fonts-dir was invoked with invalid arguments. BUGS
See the Debian Bug Tracking System <http://bugs.debian.org/xfonts-utils>. If you wish to report a bug in update-fonts-dir, please see /usr/share/doc/debian/bug-reporting.txt or the reportbug(1) command. AUTHOR
update-fonts-dir was written by Branden Robinson. SEE ALSO
mkfontdir(1x) Debian Project 2004-11-11 update-fonts-dir(8)
All times are GMT -4. The time now is 09:16 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy