Sponsored Content
Top Forums Shell Programming and Scripting Extracting value of a variable Post 302955247 by wisecracker on Tuesday 15th of September 2015 05:15:43 PM
Old 09-15-2015
If you have no idea what the variable name is from the sourced file nor its contents then you could diff the ENVIRONMENT before and after sourcing this would give the variables and their contents.
However here is an idea that finds the variable name, its contents and transfers the contents into another variable...
Code:
#!/bin/sh
# value
# Create a simple test file to open up...
echo 'VAR1=125' > /tmp/variable
# VAR1=125 sourced from $1...
$1
# Obtaining the filename from $1, firstly create a simple array.
VAR2=( $1 )
# The second part of the string is the /full/path/to/filename.
VAR2=${VAR2[1]}
# Save the contents of the file to variable VAR2, VAR1 belongs to the sourced file.
VAR2=$(cat $VAR2)
# Show the variable and its value.
echo $VAR2
# Create a new local variable.
MYVAR=""
# Find the sourced variable name.
for n in $( seq 0 1 ${#VAR2} )
do
	if [ "${VAR2:$n:1}" == "=" ]
	then
		break
	fi
	MYVAR=$MYVAR${VAR2:$n:1}
done
echo "The sourced variable name is $MYVAR..."
# Now dump the contents of $MYVAR, 'VAR1' into a reused variable VAR2.
eval VAR2='$'"$MYVAR"
echo "The sourced variable value is $VAR2..."

Results:-
Code:
Last login: Tue Sep 15 19:48:21 on ttys000
AMIGA:barrywalker~> cd Desktop/Code/Shell
AMIGA:barrywalker~/Desktop/Code/Shell> ./value 'source /tmp/variable'
VAR1=125
The sourced variable name is VAR1...
The sourced variable value is 125...
AMIGA:barrywalker~/Desktop/Code/Shell> _

If you want to get all the variables, their contents and transfer to your local variables from a script then this is much more difficult...
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

extracting value in variable??

Hi in Below example. i want "n = aa.txt.gz" ????????????? plz help m=aa.txt n=echo`gzip $m` echo $n (1 Reply)
Discussion started by: manish.s
1 Replies

2. Shell Programming and Scripting

How to define a variable with variable definition is stored in a variable?

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

3. Shell Programming and Scripting

Extracting a word from a variable

Hi Guys, Need you quick assistance on the below, trying to extract a word from a variable i.e. acmi101acmi102acmi103acmi104 When i use the following code awk '{gsub(/cmi102/,"")};1' it leaves a space in the variable, need to get rid of the space that it leaves. Any ideas. the above... (3 Replies)
Discussion started by: eo29
3 Replies

4. Shell Programming and Scripting

Extracting data from SQL using a variable from a file

Though, its not new, I am a newbie to shell scripting. Please help me with the below. There are two steps. First one is to read a table and create a file with the distinct values. I am able to get this done. Second step is to read the file (which has the single value, like a number) and... (1 Reply)
Discussion started by: singas1
1 Replies

5. Shell Programming and Scripting

Extracting variable value from file

Hi All i have created a file as below cat > REJ_FILE_LIST.dat CUST.DAT,$ABC/TEST.DAT|$ABC/TEST1.DAT|$ABC/TEST2.dat Ctrl+d in another script the variable is set as ABC='/data/proj/Cust' the requirement is to read the second column from file REJ_FILE_LIST.dat which contains... (1 Reply)
Discussion started by: zulfi123786
1 Replies

6. Red Hat

How to pass value of pwd as variable in SED to replace variable in a script file

Hi all, Hereby wish to have your advise for below: Main concept is I intend to get current directory of my script file. This script file will be copied to /etc/init.d. A string in this copy will be replaced with current directory value. Below is original script file: ... (6 Replies)
Discussion started by: cielle
6 Replies

7. Shell Programming and Scripting

extracting Number variable and the following digits.

HI all, I have output of something like this: crab: ExitCodes Summary >>>>>>>>> 12 Jobs with Wrapper Exit Code : 50117 List of jobs: 1-12 See https:///twiki/something/ for Exit Code meaning crab: ExitCodes Summary >>>>>>>>> 5 Jobs with Wrapper Exit Code : 8001 List of... (20 Replies)
Discussion started by: emily
20 Replies

8. Shell Programming and Scripting

Extracting characters and storing in some variable

eg: ./myProgram.sh filename.cpp I want to remove the :".cpp" extension from the filename.cpp expected output: filename (3 Replies)
Discussion started by: umesh314
3 Replies

9. Shell Programming and Scripting

Extracting substrings from a string of variable length

I have a string like Months=jan feb mar april x y .. Here the number of fields in Months is not definite I need to extract each field in the Months string and pass it to awk . Don't want to use for in since it is a loop . How can i do it (2 Replies)
Discussion started by: Nevergivup
2 Replies

10. Shell Programming and Scripting

Extracting substring from variable

Hi All, I'm facing issue wherein I have 2 character string like 'CR' and 'DR' and I want to extract just 1st character but am unable to do it. I tried below options but they are returning me 2nd character only, var="CR" echo ${var:1} returns just "R" echo ${var:0} returns "CR" ... (5 Replies)
Discussion started by: arvindshukla81
5 Replies
SYSTEMD-SYSTEM.CONF(5)						systemd-system.conf					    SYSTEMD-SYSTEM.CONF(5)

NAME
systemd-system.conf, systemd-user.conf - System and session service manager configuration file SYNOPSIS
/etc/systemd/system.conf /etc/systemd/user.conf DESCRIPTION
When run as system instance systemd reads the configuration file system.conf, otherwise user.conf. These configuration files contain a few settings controlling basic manager operations. OPTIONS
All options are configured in the "[Manager]" section: LogLevel=, LogTarget=, LogColor=, LogLocation=, DumpCore=yes, CrashShell=no, ShowStatus=yes, CrashChVT=1, DefaultStandardOutput=journal, DefaultStandardError=inherit Configures various parameters of basic manager operation. These options may be overridden by the respective command line arguments. See systemd(1) for details about these command line arguments. DefaultTimeoutStartSec=, DefaultTimeoutStopSec=, DefaultRestartSec= Configures the default time-outs for starting and stopping of units, as well as the default time to sleep between automatic restarts of a units, as configured per-unit in TimeoutStartSec=, TimeoutStopSec= and RestartSec= (for service units see systemd.service(5) for details on the per-unit settings). For non-service units DefaultTimeoutStartSec= sets the default TimeoutSec= value. DefaultStartLimitInterval=, DefaultStartLimitBurst= Configure the default start rate limiting, as configured per-service by StartLimitInterval= and StartLimitBurst=. See systemd.service(5) for details on the per-service settings). CPUAffinity= Configures the initial CPU affinity for the init process. Takes a space-separated list of CPU indexes. JoinControllers=cpu,cpuacct net_cls,netprio Configures controllers that shall be mounted in a single hierarchy. By default, systemd will mount all controllers which are enabled in the kernel in individual hierarchies, with the exception of those listed in this setting. Takes a space-separated list of comma-separated controller names, in order to allow multiple joined hierarchies. Defaults to 'cpu,cpuacct'. Pass an empty string to ensure that systemd mounts all controllers in separate hierarchies. Note that this option is only applied once, at very early boot. If you use an initial RAM disk (initrd) that uses systemd, it might hence be necessary to rebuild the initrd if this option is changed, and make sure the new configuration file is included in it. Otherwise, the initrd might mount the controller hierarchies in a different configuration than intended, and the main system cannot remount them anymore. RuntimeWatchdogSec=, ShutdownWatchdogSec= Configure the hardware watchdog at runtime and at reboot. Takes a timeout value in seconds (or in other time units if suffixed with "ms", "min", "h", "d", "w"). If RuntimeWatchdogSec= is set to a non-zero value, the watchdog hardware (/dev/watchdog) will be programmed to automatically reboot the system if it is not contacted within the specified timeout interval. The system manager will ensure to contact it at least once in half the specified timeout interval. This feature requires a hardware watchdog device to be present, as it is commonly the case in embedded and server systems. Not all hardware watchdogs allow configuration of the reboot timeout, in which case the closest available timeout is picked. ShutdownWatchdogSec= may be used to configure the hardware watchdog when the system is asked to reboot. It works as a safety net to ensure that the reboot takes place even if a clean reboot attempt times out. By default RuntimeWatchdogSec= defaults to 0 (off), and ShutdownWatchdogSec= to 10min. These settings have no effect if a hardware watchdog is not available. CapabilityBoundingSet= Controls which capabilities to include in the capability bounding set for PID 1 and its children. See capabilities(7) for details. Takes a whitespace-separated list of capability names as read by cap_from_name(3). Capabilities listed will be included in the bounding set, all others are removed. If the list of capabilities is prefixed with ~, all but the listed capabilities will be included, the effect of the assignment inverted. Note that this option also affects the respective capabilities in the effective, permitted and inheritable capability sets. The capability bounding set may also be individually configured for units using the CapabilityBoundingSet= directive for units, but note that capabilities dropped for PID 1 cannot be regained in individual units, they are lost for good. TimerSlackNSec= Sets the timer slack in nanoseconds for PID 1 which is then inherited to all executed processes, unless overridden individually, for example with the TimerSlackNSec= setting in service units (for details see systemd.exec(5)). The timer slack controls the accuracy of wake-ups triggered by timers. See prctl(2) for more information. Note that in contrast to most other time span definitions this parameter takes an integer value in nano-seconds if no unit is specified. The usual time units are understood too. DefaultEnvironment= Sets manager environment variables passed to all executed processes. Takes a space-separated list of variable assignments. See environ(7) for details about environment variables. Example: DefaultEnvironment="VAR1=word1 word2" VAR2=word3 "VAR3=word 5 6" Sets three variables "VAR1", "VAR2", "VAR3". DefaultLimitCPU=, DefaultLimitFSIZE=, DefaultLimitDATA=, DefaultLimitSTACK=, DefaultLimitCORE=, DefaultLimitRSS=, DefaultLimitNOFILE=, DefaultLimitAS=, DefaultLimitNPROC=, DefaultLimitMEMLOCK=, DefaultLimitLOCKS=, DefaultLimitSIGPENDING=, DefaultLimitMSGQUEUE=, DefaultLimitNICE=, DefaultLimitRTPRIO=, DefaultLimitRTTIME= These settings control various default resource limits for units. See setrlimit(2) for details. Use the string infinity to configure no limit on a specific resource. These settings may be overridden in individual units using the corresponding LimitXXX= directives. Note that these resource limits are only defaults for units, they are not applied to PID 1 itself. SEE ALSO
systemd(1), systemd.directives(7), environ(7) systemd 208 SYSTEMD-SYSTEM.CONF(5)
All times are GMT -4. The time now is 07:31 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy