02-08-2014
I now have a theory regarding the three behaviors that Charles reported. The ability to source a function was intended to be used with ksh style functions. These normally create their own scope and by sourcing them they behave like like posix style function.
Charles is defining a posix style function and then is sourcing that. This was not intended to happen. My theory is that AIX is advanced enough to support an early implementation of the function sourcing code. And in this implementation the attempt to source a posix style function is simply ignored.
And my theory continues that users were surprised that some functions could be sourced while other could not. And so, in the spirit of least surprise, ksh was modified to tolerate the sourcing of posix style functions.
The documenation does say that sourcing ksh style function is the feature that was added to ksh. The docs neither allow or prohibit sourcing a posix style function as far as I can see. Whether or not my theory is correct, sourcing a posix style function is an undocumented feature and Charles clearly has seen two different behaviors. I think it would be wise to stick only to the functionality that is explicitly allowed by the documentation.
10 More Discussions You Might Find Interesting
1. BSD
Hi,
I am running OpenBSD 3.7, my first attempt with this OS. I noticed that both /bin/sh and /bin/ksh are both really the pdksh. Yet each has its own manpage. I was wondering what are the differences b/w the two programs on OpenBSD. I.e., has the team configured pdksh to function one way if... (3 Replies)
Discussion started by: hadarot
3 Replies
2. UNIX for Dummies Questions & Answers
Hi All,
I want to know the OS level differences between AIX, Solaris, HP-UX, Linux
Apart from the vendor, H/w and command differences, any other significant points.
regards,
guru Charan (9 Replies)
Discussion started by: gurukottur
9 Replies
3. UNIX for Dummies Questions & Answers
I have a script "abc.sh" in /tmp which has exit 0 as its last line
when I run this script from /tmp/xyz/def.sh script as
. ../abc.sh
then the script executes but the control doesn't return to def.sh script for subsequent commands in def.sh
but if I invoke the abc.sh from inside the... (3 Replies)
Discussion started by: rakeshou
3 Replies
4. UNIX for Dummies Questions & Answers
I've been more used to Solaris, but am now working on an IBM AIX box, P650
Certain commands like "top" are no longer available. Any ideas on where I can find help on this matter?
Christopher Freville
Alberquerque, NM (6 Replies)
Discussion started by: Solariums
6 Replies
5. Solaris
I'm attempting to setup rootsh on Solaris 10 to log the activity of users who require root access. However it does not appear to be sourcing root's .profile file even when run with the '-i' option. I was wondering if anybody else has run into this and might have a solution.
Thank you. (9 Replies)
Discussion started by: kungfusnwbrdr
9 Replies
6. AIX
Hi,
I'm trying to create a script to catch a process which is consuming high CPU which I have pretty much done but it's just finding the correct place to pull the current CPU for that process.
When viewed in Topas it's consuming 99.*% cpu
But if I try using
ps avg or ps -eo pcpu
... (5 Replies)
Discussion started by: elmesy
5 Replies
7. Shell Programming and Scripting
We are migrating some scripts (ksh) from Solaris 10 to Linux 2.6.32.
Can someone share list of changes i need to take care for this ?
Have found few of them but i am looking for a exhaustive list.
Thanks. (6 Replies)
Discussion started by: Shivdatta
6 Replies
8. Shell Programming and Scripting
I have a list of files that should contain the following
Im trying to find the items of interest that are missing from each file and create a csv.
cat *.txt | while read file
do
grep 3500 file | tr '\012' ','
done
My problem is this possible output
one.txt ... (2 Replies)
Discussion started by: popeye
2 Replies
9. Shell Programming and Scripting
Hi,
I am running this on Redhat 5.10
I have a simple test script called test.sh which has the following
contents and it uses the BASH shebang.
-------------------------------------------------------------
#!/bin/bash
eval `/tmp/filereader.pl /tmp/envfile.txt`
echo "TESTPATH=$TESTPATH"
... (28 Replies)
Discussion started by: waavman
28 Replies
10. Shell Programming and Scripting
This seems pretty simple, but I cant figure it out. I get stumped on the simple things.
I am running two commands
1) take a listing a directory of files, and filter out the doc_name (which is in a series of extracted files), and place it in a file.
ls -l | awk '{print $9}' | grep... (5 Replies)
Discussion started by: jeffs42885
5 Replies
LEARN ABOUT MOJAVE
tk_getjoinstyle
Tk_GetJoinStyle(3) Tk Library Procedures Tk_GetJoinStyle(3)
__________________________________________________________________________________________________________________________________________________
NAME
Tk_GetJoinStyle, Tk_NameOfJoinStyle - translate between strings and join styles
SYNOPSIS
#include <tk.h>
int
Tk_GetJoinStyle(interp, string, joinPtr)
const char *
Tk_NameOfJoinStyle(join)
ARGUMENTS
Tcl_Interp *interp (in) Interpreter to use for error reporting.
const char *string (in) String containing name of join style: one of "bevel", "miter", or "round".
int *joinPtr (out) Pointer to location in which to store X join style corresponding to string.
int join (in) Join style: one of JoinBevel, JoinMiter, JoinRound.
_________________________________________________________________
DESCRIPTION
Tk_GetJoinStyle places in *joinPtr the X join style corresponding to string, which will be one of JoinBevel, JoinMiter, or JoinRound. Join
styles are typically used in X graphics contexts to indicate how adjacent line segments should be joined together. See the X documentation
for information on what each style implies.
Under normal circumstances the return value is TCL_OK and interp is unused. If string does not contain a valid join style or an abbrevia-
tion of one of these names, then an error message is stored in interp->result, TCL_ERROR is returned, and *joinPtr is unmodified.
Tk_NameOfJoinStyle is the logical inverse of Tk_GetJoinStyle. Given a join style such as JoinBevel it returns a statically-allocated
string corresponding to join. If join is not a legal join style, then "unknown join style" is returned.
KEYWORDS
bevel, join style, miter, round
Tk Tk_GetJoinStyle(3)