Sponsored Content
Top Forums UNIX for Dummies Questions & Answers ksh script - not getting output from ls Post 302735191 by sudon't on Friday 23rd of November 2012 05:44:50 PM
Old 11-23-2012
ksh script - not getting output from ls

Hi!
I'm a complete noob, and I'm trying to write a little script that takes a directory pathname as input from the CL, checks whether it exists, and if not creates it, then shows it worked using ls.
Everything works beautifully except in the first instance, wherein the directory is created, ls does not print its output. Running it in debug mode, it is clear that ls is executing, but I can't figure out why it doesn't show in stdout.
Code:
$ ksh -x ./newdir.ksh
+ print -n 'Name a directory that ought to exist: '
Name a directory that ought to exist: + read dir
Fun/Super/Duper/Pooper
+ [[ ! -d /Users/rick/Fun/Super/Duper/Pooper ]]
+ print 'Directory does not yet exist. I will make it so...'
Directory does not yet exist. I will make it so...
+ mkdir /Users/rick/Fun/Super/Duper/Pooper
+ ls -R /Users/rick/Fun/Super/Duper/Pooper

I've tried it a few different ways. I thought maybe ls was executing before mkdir finished, but && didn't help.
Code:
mkdir ~/$dir && ls -R ~/$dir

No sense going into all of them since none of them worked.
I've searched the web, and while there's a lotta info on redirecting to and from files, I couldn't find anything on making sure output directed to the screen. I guess because that would be the expected behavior. But I'm probably looking for the wrong thing. I'm such a complete noob, I don't know what to look for.
Anyway, it works fine in the second instance, where the directory already exists.
Code:
$ ./newdir.ksh
Name a directory that ought to exist: Fun
That directory does exist, as well it should.
Super

/Users/rick/Fun/Super:
Duper

/Users/rick/Fun/Super/Duper:
Pooper

/Users/rick/Fun/Super/Duper/Pooper:

Here is the script:

Code:
#!/bin/ksh

## If a directory does not exist, create it. Then let us see that it worked.

	print -n "Name a directory that ought to exist: "
read dir

if [[ ! -d ~/$dir ]]
then
	print "Directory does not yet exist. I will make it so..."
	mkdir ~/$dir
	ls -R ~/$dir

else
	print "That directory does exist, as well it should."
	ls -R ~/$dir
fi

No doubt I've overlooked something very fundamental and simple, but for the life of me, cannot figure it out.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

import var and function from ksh script to another ksh script

Ih all, i have multiples ksh scripts for crontab's unix jobs they all have same variables declarations and some similar functions i would have a only single script file to declare my variables, like: var1= "aaa" var2= "bbb" var3= "ccc" ... function ab { ...} function bc { ... }... (2 Replies)
Discussion started by: wolfhurt
2 Replies

2. Shell Programming and Scripting

ksh: cmd output to input of another script

I want to write a script in KSH that takes the output of one command and redisplays it. Something like: while true do read inpt date +"%I:%M:%S %p <-> $inpt" done and then some how get the output of the ping command to redirect to the input of this script. does that make sense? (2 Replies)
Discussion started by: IMTheNachoMan
2 Replies

3. Shell Programming and Scripting

ksh script that echo " please insert your name " and store the output to a login.log file.

Hello All Nice to meet you all here in this forum, it's my 1rst time here i'm asking about a little issue that i face i added a ksh script that echo " please insert your name " and store the output to a login.log file. the script is working fine with normal telnet but Xstart is not working... (8 Replies)
Discussion started by: islam.said
8 Replies

4. Shell Programming and Scripting

KSH script to run other ksh scripts and output it to a file and/or email

Hi I am new to this Scripting process and would like to know How can i write a ksh script that will call other ksh scripts and write the output to a file and/or email. For example ------- Script ABC ------- a.ksh b.ksh c.ksh I need to call all three scripts execute them and... (2 Replies)
Discussion started by: pacifican
2 Replies

5. Shell Programming and Scripting

ksh script to process grep output

Hi, I would like to know how can i pipe the following output of grep into a predefined output format This is the output of the grep command grep record *.txt | sort -r 2010-04-28-11-12-21.txt:C The user has created a record 2010-04-29-10-18-41.txt:U The user has updated a record... (8 Replies)
Discussion started by: alienated
8 Replies

6. Shell Programming and Scripting

Help with ksh script to display output with specific contents

This is Input - starts with Storage Group Name and ends with Shareable and the loop continues all I need is Storage group name and Alu numbers in the below output format requested. Storage Group Name: abcd Storage Group UID: 00:00:000:00:0:0:0 HBA/SP Pairs: HBA UID ... (6 Replies)
Discussion started by: maddysa
6 Replies

7. Shell Programming and Scripting

Output in for loop (ksh)

Hi , I'm writing the for loop script in home directory and wanted to get the files from /etc/data directory. #!/bin/ksh file_nm="/etc/dat" for test_data in $file_nm/fln* do echo "$test_data" done the code is executing successfully , but in the output it is showing ... (6 Replies)
Discussion started by: smile689
6 Replies

8. UNIX for Dummies Questions & Answers

Executing ksh script to remote server want output on same window

I'm having a brain freeze moment. I've created a ksh script in AIX that ssh's to a remote server, executes some commands, and then logs out. All of this is sent to a file. I then have the script cat the file so i can see the output. Even though the cat command is outside of the remote session part;... (5 Replies)
Discussion started by: seekryts15
5 Replies

9. Shell Programming and Scripting

Line break in sqlplus output through ksh script

Hi, I am new to shell script programming. I have written a ksh script to run the sql File placed in server directory and spool the output in destination directory. Below Command: $ORACLE_HOME/bin/sqlplus -s $ora_uid @$sqlfile_loc$testquery.sql > $opfiledirectory It is generating the output... (6 Replies)
Discussion started by: Sumit Arora
6 Replies

10. UNIX for Beginners Questions & Answers

Passing output parameter(Oracle) to variable in ksh Script

Hello, I have researched and tried many way to pass OUT parameter to be stored in variable in KSH Script.Still not success, please help. Here is my Store Procedure. create procedure testout3(v_in varchar2,v_out OUT integer) as begin v_out := 1; end; Here is my testvout.ksh #!/bin/ksh... (1 Reply)
Discussion started by: palita2601
1 Replies
mkdir(1)							   User Commands							  mkdir(1)

NAME
mkdir - make directories SYNOPSIS
/usr/bin/mkdir /usr/bin/mkdir [-m mode] [-p] dir... ksh93 mkdir [-p] [-m mode] dir... DESCRIPTION
/usr/bin/mkdir The mkdir command creates the named directories in mode 777 (possibly altered by the file mode creation mask umask(1)). Standard entries in a directory (for instance, the files ".", for the directory itself, and "..", for its parent) are made automatically. mkdir cannot create these entries by name. Creation of a directory requires write permission in the parent directory. The owner-ID and group-ID of the new directories are set to the process's effective user-ID and group-ID, respectively. mkdir calls the mkdir(2) system call. setgid and mkdir To change the setgid bit on a newly created directory, you must use chmod g+s or chmod g-s after executing mkdir. The setgid bit setting is inherited from the parent directory. ksh93 The mkdir built-in in ksh93 is associated with the /bin and /usr/bin paths. It is invoked when mkdir is executed without a pathname prefix and the pathname search finds a /bin/mkdir or /usr/bin/mkdir executable. mkdir creates one or more directories. By default, the mode of created directories is a=rwx minus the bits set in umask(1). OPTIONS
/usr/bin/mkdir The following options are supported by /usr/bin/mkdir: -m mode This option allows users to specify the mode to be used for new directories. Choices for modes can be found in chmod(1). -p With this option, mkdir creates dir by creating all the non-existing parent directories first. The mode given to intermediate directories is the difference between 777 and the bits set in the file mode creation mask. The difference, however, must be at least 300 (write and execute permission for the user). ksh93 The following options are supported by the mkdir built-in in ksh93: -m mode Set the mode of created directories to mode. mode is symbolic or octal mode as in chmod(1). Relative modes assume an initial --mode=mode mode of a=rwx. -p Create any missing intermediate pathname components. For each dir operand that does not name an existing directory, effects --parents equivalent to those caused by the following command shall occur: mkdir -p -m $(umask -S),u+wx $(dirname dir) && mkdir [-m mode] dir Where the -m mode option represents that option supplied to the original invocation of mkdir, if any. Each dir operand that names an existing directory is ignored without error. OPERANDS
The following operand is supported: dir A path name of a directory to be created. USAGE
See largefile(5) for the description of the behavior of mkdir when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes). EXAMPLES
Example 1 Using mkdir The following example: example% mkdir -p ltr/jd/jan creates the subdirectory structure ltr/jd/jan. ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of mkdir: LANG, LC_ALL, LC_CTYPE, LC_MES- SAGES, and NLSPATH. EXIT STATUS
The following exit values are returned: 0 All the specified directories were created successfully or the -p option was specified and all the specified directories now exist. >0 An error occurred. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: /usr/bin/mkdir +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |CSI |Enabled | +-----------------------------+-----------------------------+ |Interface Stability |Committed | +-----------------------------+-----------------------------+ |Standard |See standards(5). | +-----------------------------+-----------------------------+ ksh93 +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |Interface Stability |See below. | +-----------------------------+-----------------------------+ |Standard |See standards(5). | +-----------------------------+-----------------------------+ The ksh93 built-in binding to /bin and /usr/bin is Volatile. The built-in interfaces are Uncommitted. SEE ALSO
chmod(1), ksh93(1), rm(1), sh(1), umask(1), Intro(2), mkdir(2), attributes(5), environ(5), largefile(5), standards(5) SunOS 5.11 2 Nov 2007 mkdir(1)
All times are GMT -4. The time now is 11:10 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy