Sponsored Content
Top Forums Shell Programming and Scripting How do I get variable defined in BASH subshell outside? Post 302920407 by goreilly on Thursday 9th of October 2014 09:55:39 AM
Old 10-09-2014
Question How do I get variable defined in BASH subshell outside?

I'm a BASH shell user (relatively new)
I need to get a variable calculated in a subshell, outside the subshell, when it completes. I can do it, by writing the variable into a file, and then reading the file again when outside the subshell. I've tried lots of things from exporting to environmental variables, but nothing seems to work. Is there a simple way?
A simple example is below.
Thanks,
Gerry Smilie
------------------------------------------
Code:
 
#!bin/bash
num=1 # variable defined in BASHSHELL 0
 
( # start of subshell level is BASHSHELL 1
echo $num # this works: gives 1 for the answer
 
inside_num=2
echo $inside_num # this works: gives 2 for the answer
 
# my question is how do I get the value of inside_num to BASHSHELL 0 level?
 
) # end of subshell 
 
echo $inside_num # this doesn't work, it returns nothing 
# since inside_num was defined in BASHSHELL 1
exit 0



Moderator's Comments:
Mod Comment Please use code tags next time for your code and data. Thanks

Last edited by vbe; 10-09-2014 at 11:00 AM..
 

10 More Discussions You Might Find Interesting

1. Linux

environment variable is not defined

moved to correct thread (0 Replies)
Discussion started by: alien12
0 Replies

2. Shell Programming and Scripting

Replace variable with a user defined variable

I have a file that has a list of entries in a column x z z z x y z The column can have any length and any number of any strings. I need to replace each unique string with a user defined number. I can filter the unique entries out using awk '{if (NF==5) print $2}' file | uniq | nl >... (1 Reply)
Discussion started by: ce124
1 Replies

3. Shell Programming and Scripting

Force Input in User Defined Variable

In a line such as: echo -n "How many days back would you like to check? "; read days How can I ensure that the user has a.) entered a number between 1-30 (not 0 or 31+) and b.) has not just hit enter (ie set it to "") and if it's entered wrong, how do I start the if statement over? I... (10 Replies)
Discussion started by: earnstaf
10 Replies

4. Shell Programming and Scripting

Finding Variable Value defined in a Script

Hi , I had a script in which there is a variable $LOG defined and I want to check where that variable is getting value from, is there a way I can check for that variable and it's value if it is defined in some other script function or script . I checked using command env and also export... (1 Reply)
Discussion started by: somu_june
1 Replies

5. Shell Programming and Scripting

Unable to add user defined variable

Hi, I have a user defined variable _TIME1=xxx I am using awk command for pattern matching. cat $_LOCATION/catalina.txt | awk '/^`$_TIME1`:??:??/' It not taking the value of $_TIME! eg:I am using the command to get all the patter from 12:00:00 to 12:59:59 The user defined variable... (2 Replies)
Discussion started by: ahamed
2 Replies

6. UNIX for Dummies Questions & Answers

Finding WHERE an environment variable is defined.

HI. I had an environment variable defined in my .bash_profile file and I deleted it. I opened a new terminal and looked inside .bash_profile and it's not there but when I type printenv MYCONFIG it reutrns what the value used to be in my .bash_profile still!! I did a grep for MYCONFIG and... (6 Replies)
Discussion started by: dissectcode
6 Replies

7. Shell Programming and Scripting

How to export a variable from a subshell to the parent shell?

A not-too-ugly solution to this classic problem... #!/bin/bash mknod fifo p ( echo 'value' > fifo & ) VARIABLE=`cat fifo` rm fifo Whatdcha think? Good? No good? (9 Replies)
Discussion started by: vomv1988
9 Replies

8. Shell Programming and Scripting

Defined Variable from text file

Hi Guys, I have one text file ABC.txt...It have 3 lines List=/home/klk/dir/ABC.txt Leajnk123 KJUHIO1234 IJOKIJ7676 I want use as different variable of each line.Just like X=firstline Y=Secound Line Z=Third Line (4 Replies)
Discussion started by: asavaliya
4 Replies

9. Shell Programming and Scripting

Infinite "while" loop subshell loses current date variable

I have a simple script to log network connectivity to a set of systems. However, as expected the date appended to the log never changes because the new variable is lost when the loop starts again. Can someone clue me in on how to get around this issue? #!/bin/bash LOG=/tmp/netlog... (3 Replies)
Discussion started by: woodson2
3 Replies

10. UNIX for Beginners Questions & Answers

Awk: use variable defined in begin

Hi there, I'm working with file more than 400K lines, 60 columns. Column count is going to be multiple of 12: 60, 12, 72 or so. NF/12 gives me on how many iterations I've to do to check certain value. For example: 7, 14th if only 24 columns in file. 7th, 14th and 21st if 36 columns in... (6 Replies)
Discussion started by: genome
6 Replies
su(1)							      General Commands Manual							     su(1)

NAME
su - switch user SYNOPSIS
[username [arguments]] [username] DESCRIPTION
The (set user or superuser) command allows one user to become another user without logging out. username is the name of a user defined in the file (see passwd(4)). The default name is (that is, superuser). To use the appropriate password must be supplied unless the current user is superuser and is not using the option. If a valid password is entered, executes a new shell with the real and effective user ID, real and effective group ID, and group access list set to that of the specified user. The new shell is the one specified in the shell field of the new user's entry in the password file, The arguments are passed along to the new shell for execution, permitting the user to run shell procedures with the new user's privileges. When exiting from the new shell, the previous username and environment are restored. All attempts to become another user are logged in including failures. Successful attempts are flagged with failures, with They are also logged with (see syslog(3C)). Options recognizes the following options: If the option is specified, the new shell starts up as if the new user had initiated a new login session. If the option is omit- ted, the new shell starts as if a subshell was invoked. See more details below. If DCE (Distributed Computing Environment) is being used as the authentication mechanism, the option must be specified. With this option, even superuser will be prompted for the user's password. The reason for this is because DCE credentials for a user cannot be obtained without that user's pass- word. This option cannot be used with shell arguments. If the option is specified, the new shell starts up as if the new user had initiated a new login session. Exceptions are as follows: o The variable is reset to the new user's home directory. o If the new user name is the path and prompt variables are reset: For other user names: o The variable is retained. o The rest of the environment is deleted and reset to the login state. However, the login files are normally executed anyway, usually restoring the expected value of and other variables. If the option is omitted, the new shell starts as if a subshell was invoked. Exceptions are as follows: o If the new user name is the path and prompt variables are reset: o The previously defined and environment variables are removed. o The rest of the environment is retained. If the shell specified in is sets the value of parameter in the new shell (referenced as to If the option of the command is specified, sets parameter to If the shell specified in is not sets the value of parameter in the new shell to shellname. If the option of the command is specified, sets parameter to For example, if the Korn shell is invoked, the value of shellname will be either or By comparison, the command always sets parameter to HP-UX Smart Card Login If the user account is configured to use a Smart Card, the user password is stored in the card. This password has characteristics identi- cal to a normal password stored on the system. In order to using a Smart Card account, the Smart Card from the destination user account must be inserted into the Smart Card reader. The user is prompted for a PIN instead of a password during authentication. The password is retrieved automatically from the Smart Card when a valid PIN is entered. Therefore, it is not necessary to know the pass- word, only the PIN. The card is locked if an incorrect PIN is entered three consecutive times. It may be unlocked only by the card issuer. SECURITY FEATURES
Except for user users cannot use to change to an account that has been locked because of expired passwords or other access restrictions. Refer to the file in the security(4) manual page for detailed information on configurable parameters that affect the behavior of this com- mand. Currently, the supported parameters for the command are: EXTERNAL INFLUENCES
Environment Variables User's home directory The language in which messages are displayed. If is not specified or is null, it defaults to (see lang(5)). If any internationalization variable contains an invalid set- ting, all internationalization variables default to (see environ(5)). User's login name Command name search path Default prompt Name of the user's shell International Code Set Support Characters in the 7-bit US-ASCII code sets are supported in login names (see ascii(5)). EXAMPLES
Become user while retaining the previously exported environment: Become user but change the environment to what would be expected if had originally logged in: Execute the command, using the temporary environment and permissions of user In this example, user bin's shell is invoked with the argu- ments Become user in the DCE environment: WARNINGS
After a valid password is supplied, uses information from and to determine the user's group ID and group access list. If is linked to and group membership for the user trying to log in is managed by the Network Information Service (NIS), and no NIS server is able to respond, waits until a server does respond. DEPENDENCIES
Pluggable Authentication Modules (PAM) PAM is an Open Group standard for user authentication, password modification, and account validation. In particular, is invoked to perform all functions related to This includes password retrieval, account validation, and error message displays. FILES
User's profile System's default group access list file System's password file System's profile Log of all attempts Security defaults configuration file SEE ALSO
env(1), login(1), sh(1), initgroups(3C), syslog(3C), group(4), passwd(4), profile(4), security(4), environ(5). Pluggable Authentication Modules (PAM) pam_acct_mgmt(3), pam_authenticate(3). HP-UX Smart Card Login scpin(1). STANDARDS CONFORMANCE
su(1)
All times are GMT -4. The time now is 03:57 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy