08-16-2015
Hi, for Posix compliant shells:
- There are shell variables and environment variables
- When a shell starts it makes a copy of the environment variables and creates shell variables with the same name and value, with the export attribute set (marked for export)
- If new shell variables are created in a shell, then they are not marked for export
- The export command sets the export attribute of the shell variables (marks them for export).
- A subprocess inherits all shell variables marked for export (and also variable assignments that are part of the command)
- A subshell is a special kind of subprocess that inherits all shell variables, even those not marked for export.
- The env command (since it is executed as a subprocess) shows the environment variables that would be inherited by a subprocess.
subshells are created implicitly by the shell syntax or explicitly using parentheses
( .... )
Last edited by Scrutinizer; 08-16-2015 at 04:04 PM..
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hello,
I need some help to understand system and user environment files, such as .profile and others. I can edit my .profile file in my home directory. What I only touch in this file is the $PATH variable and when I am logged in under a telnet session, the PATH that I specify is used and... (8 Replies)
Discussion started by: jacobsa
8 Replies
2. UNIX for Dummies Questions & Answers
$ . oraenv (when i type this at the prompt)
ORACLE_SID = ? ( I get this)
I understand that . oraenv is a startup script and it has the ENV variable ORACLE_SID.
But pls let me know what more it explains and also how to change the env variable here. (2 Replies)
Discussion started by: thumsup9
2 Replies
3. Shell Programming and Scripting
First of all I am using C shell.
I have a variable destDirectory that holds a path.
the path includes an environment variable($user)
when I try to execute a command within the script, the $destDirectory gets replaced with the path, but the environment variable is not replaced. I end up... (2 Replies)
Discussion started by: karyn1617
2 Replies
4. Shell Programming and Scripting
i am using the below script and trying to move files in that directory in that pattern to archive. But it doesn;t seem to take the metacharacters. Please sugggest.
Code
Debug output: (1 Reply)
Discussion started by: dsravan
1 Replies
5. Shell Programming and Scripting
Hi,
I have to set bunch of variables and all other programs like make,
perl will use them ..
Here are my constraints and requirements ...
The variables have to be set by executing a script that runs
in c shell. I cannot source the script since people who use this
script might be on... (8 Replies)
Discussion started by: sharanbr
8 Replies
6. Shell Programming and Scripting
Hi all,
I have a variable say var1 (output from somewhere, which I can't change)which store something like this:
echo $var1
name=fred
age=25
address="123 abc"
password=pass1234
how can I make the variable $name, $age, $address and $password contain the info?
I mean do this in a... (1 Reply)
Discussion started by: freddy1228
1 Replies
7. UNIX for Dummies Questions & Answers
Hi!
Ok, so I'm no programmer and I have basically no experience in these stuff. However I need to work on a thing (I think you call it Framework) called Root. It's a tool used by physicists. In the manual they keep talking about Environment variable. Even thou I searched for what it is on the... (5 Replies)
Discussion started by: tirwit
5 Replies
8. Shell Programming and Scripting
I'm trying to make a sed substitution where the substitution pattern is an environment variable to be expanded, but the variable contains a "slash".
sed -e 's/<HOME_DIRECTORY>/'$HOME'/'This gives me the following error:
sed: -e expression #1, char 21: unknown option to `s'Obviously this is... (2 Replies)
Discussion started by: Ilja
2 Replies
9. UNIX for Advanced & Expert Users
Hi all,
I'm bit new to the advanced bash shell scripting.
When I'm looking at some of the existing code in my organization, got confused with a few variable definings.
For ex:
var1={1:-30}
var2="abc def ghi"
var3={xyz:-$var2}
In above, 1st and last lines are confusing me.... (4 Replies)
Discussion started by: raghu.iv85
4 Replies
10. UNIX for Beginners Questions & Answers
Hello,
I am running ubuntu16.04.
By means of @Rudic's help, I have below command.
What I need to do is to replace video_id by value of video_id in which WHERE clause is matched:
{print "INSERT INTO video_series_files (id, video_id, file_type, protocol, \
url, languages, quality, accessed... (12 Replies)
Discussion started by: baris35
12 Replies
LEARN ABOUT MINIX
typeset
typeset(1) User Commands typeset(1)
NAME
typeset, whence - shell built-in functions to set/get attributes and values for shell variables and functions
SYNOPSIS
typeset [ +- HLRZfilrtux [n]] [ name [ = value]]...
whence [-pv] name...
DESCRIPTION
typeset sets attributes and values for shell variables and functions. When typeset is invoked inside a function, a new instance of the
variables name is created. The variables value and type are restored when the function completes. The following list of attributes may be
specified:
-H This flag provides UNIX to host-name file mapping on non-UNIX machines.
-L Left justify and remove leading blanks from value. If n is non-zero it defines the width of the field; otherwise, it is determined
by the width of the value of first assignment. When the variable is assigned to, it is filled on the right with blanks or trun-
cated, if necessary, to fit into the field. Leading zeros are removed if the -Z flag is also set. The -R flag is turned off.
-R Right justify and fill with leading blanks. If n is non-zero it defines the width of the field, otherwise it is determined by the
width of the value of first assignment. The field is left filled with blanks or truncated from the end if the variable is reas-
signed. The -L flag is turned off.
-Z Right justify and fill with leading zeros if the first non-blank character is a digit and the -L flag has not been set. If n is
non-zero it defines the width of the field; otherwise, it is determined by the width of the value of first assignment.
-f The names refer to function names rather than variable names. No assignments can be made and the only other valid flags are -t, -u
and -x. The flag -t turns on execution tracing for this function. The flag -u causes this function to be marked undefined. The
FPATH variable will be searched to find the function definition when the function is referenced. The flag -x allows the func-
tion definition to remain in effect across shell procedures invoked by name.
-i Parameter is an integer. This makes arithmetic faster. If n is non-zero it defines the output arithmetic base; otherwise, the
first assignment determines the output base.
-l All upper-case characters are converted to lower-case. The upper-case flag, -u is turned off.
-r The given names are marked readonly and these names cannot be changed by subsequent assignment.
-t Tags the variables. Tags are user definable and have no special meaning to the shell.
-u All lower-case characters are converted to upper-case characters. The lower-case flag, -l is turned off.
-x The given names are marked for automatic export to the environment of subsequently-executed commands.
The -i attribute can not be specified along with -R, -L, -Z, or -f.
Using + rather than - causes these flags to be turned off. If no name arguments are given but flags are specified, a list of names (and
optionally the values) of the variables which have these flags set is printed. (Using + rather than - keeps the values from being
printed.) If no names and flags are given, the names and attributes of all variables are printed.
For each name, whence indicates how it would be interpreted if used as a command name.
The -v flag produces a more verbose report.
The -p flag does a path search for name even if name is an alias, a function, or a reserved word.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not
performed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
ksh(1), set(1), sh(1), attributes(5)
SunOS 5.10 1 Feb 1995 typeset(1)