Sponsored Content
Full Discussion: Indirect variables in Bash
Top Forums Shell Programming and Scripting Indirect variables in Bash Post 302769112 by Scrutinizer on Monday 11th of February 2013 08:32:40 AM
Old 02-11-2013
Because if $path is obtained from user input or an input file, or otherwise not under your control someone could execute code with the permissions of the person executing the script.

If you are using bash 4 or you could switch to ksh93 then an alternative might be associative arrays:

Code:
leg=([AB]=50 [CD]=40)
echo "${leg[AB]}"

This User Gave Thanks to Scrutinizer For This Post:
 

9 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Compound indirect variable references

Using bash, I'm trying to read a .properties file (name=value pairs), assigning an indirect variable reference for each line in the file. The trick is that a property's value string may contain the name of a property that occurred earlier in the file, and I want the name of the 1st property to... (5 Replies)
Discussion started by: tkrussel
5 Replies

2. Shell Programming and Scripting

Length of an indirect variable

The construct ${#parameter} returns the number of characters in the parameter and ${!parameter} specifies an indirect variable. My question is: How do I combine these two. What I want is ${#!parameter} but this gives an error. Of course I can use: dummy=${!parameter} ${#dummy} but that's a... (0 Replies)
Discussion started by: gone_bush
0 Replies

3. Shell Programming and Scripting

Bash variables

Ummm can anybody help me with this one? Its prob quite simple. I bascially have a file name say J1x2x3x7.dat Im using the file name as a variable in a bash script. Want I want to do is extract most of the file name and make it a new variable expect with say one of the number now a... (2 Replies)
Discussion started by: RichieFondel
2 Replies

4. Linux

How to get an Indirect Variable Value..?

Hi, I've got a small problem. If varible A stores "B" and Variable B stores C, How to get the value of variable B by using only Variable A..? I tried the following but didnt work pease help.. $ var1=vikram $ echo $var1 vikram $ vikram=sampath $ echo $vikram sampath $ echo... (6 Replies)
Discussion started by: vickramshetty
6 Replies

5. Shell Programming and Scripting

Indirect variable assignment

Hi I have variable A_B=alpha also var1="A" var2="B" I want to retrieve the value alpha using var1 and var2 , somthing like echo ${${var1}_${var2}} that works. Obviously this is receiving syntax error (6 Replies)
Discussion started by: sumir
6 Replies

6. Shell Programming and Scripting

Does SH support indirect expansion like BASH?

Hello, is there a kind soul who can answer me, does the SH support double substitution known as indirect expansion similar to BASH? The syntax for bash is ${!var}. For instance in bash I can write something like this: VAR="value" REF_VAR="VAR" echo ${!REF_VAR} and get the "value"... (1 Reply)
Discussion started by: dimentiy
1 Replies

7. Shell Programming and Scripting

Indirect Referral Script

I have a file with two columns of numbers (member IDs): 1 1 2 1 3 1 4 2 5 4 6 1 7 5 8 3 9 2 Think of column 1 as the referee and column 2 as the referrer. Is there a good way to backtrack who referred who? I would like an output, for this example here to be: 1 1 2 1 3 1 4 2 1 (2 Replies)
Discussion started by: mdlloyd7
2 Replies

8. Shell Programming and Scripting

BASH arrays and variables of variables in C++

Sometimes it is handy to protect long scripts in C++. The following syntax works fine for simple commands: #define SHELLSCRIPT1 "\ #/bin/bash \n\ echo \"hello\" \n\ " int main () { cout <<system(SHELLSCRIPT1); return 0; } Unfortunately for there are problems for: 1d arrays:... (10 Replies)
Discussion started by: frad
10 Replies

9. Shell Programming and Scripting

Passing awk variables to bash variables

Trying to do so echo "111:222:333" |awk -F: '{system("export TESTO=" $2)}'But it doesn't work (2 Replies)
Discussion started by: urello
2 Replies
Net::SIP::Leg(3pm)					User Contributed Perl Documentation					Net::SIP::Leg(3pm)

NAME
Net::SIP::Leg - Wrapper around Socket for sending and receiving SIP packets SYNOPSIS
my $leg = Net::SIP::Leg->new( addr => '192.168.0.2' ); $leg->deliver( $packet, '192.168.0.5:5060' ); DESCRIPTION
A Leg wraps the socket which is used to send and receive packets. It provides ways to strip Via header from incoming packets, to add Via header to outgoing packets and to add Record-Route header while forwarding. It's usually not used directly, but from Net::SIP::Dispatcher. CONSTRUCTOR
new ( %ARGS ) The constructor creates a new object based on the hash %ARGS. The following keys are used from %ARGS: sock The socket as IO::Socket::INET object. "addr", "port" and "proto" will be determined from this object and not from %ARGS. addr The local address of the socket. If this is given but no port it will extract port from addr, if it's in the format "host:port". port The port of the socket. Defaults to 5060. proto The connection protocol, e.g. 'tcp' or 'udp'. Defaults to 'udp'. contact Optional contact information which will be added as Record-route header to outgoing requests and used within Contact header for 200 Responses to INVITE. If not given it will be created based on "addr", "port" and "proto". If no socket is given with "sock" it will be created based on "addr", "port" and "proto". If this fails the constructur will "die()". The constructor will creeate a uniq branch tag for this leg. METHODS
forward_incoming ( PACKET ) Modifies the Net::SIP::Packet PACKET in-place for forwarding, e.g strips top Via header in responses, adds received parameter to top Via header in requests, handles the difference between forwarding of requests to strict or loose routes and inserts Record-Route header in requests. forward_outgoing ( PACKET, LEG_IN ) Similar to forward_incoming, but will be called on the outgoing leg. LEG_IN is the Net::SIP::Leg, where the packet came in (and where forward_incoming was called). Will add Record-Route header and remove itself from Route. deliver ( PACKET, ADDR, [ CALLBACK ] ) Delivers Net::SIP::Packet PACKET through the leg $self to ADDR, which is "ip:port". Usually this method will be call from within Net::SIP::Dispatcher. If the packet was received by the other end (which is only possible to say if a reliable protocol, e.g. 'tcp' was used) it will call CALLBACK if provided. See invoke_callback in Net::SIP::Util for the format of callbacks. If the packet could not be delivered CALLBACK will be invoked with the appropriate errno ($!). While delivering requests it adds a Via header. receive Reads a packet from the socket and returns the Net::SIP::Packet PACKET and the senders ADDR as "ip:port". If reading failed will return "()". check_via ( PACKET ) Returns TRUE if the top Via header in the Net::SIP::Packet PACKET contains the branch-tag from $self, otherwise FALSE. Used to check if the response came in through the same leg the response was send. add_via ( PACKET ) Adds itself to PACKET as Via header. can_deliver_to ( ADDR|%SPEC ) Returns TRUE if the leg can deliver address specified by ADDR or %SPEC. ADDR is a hostname which can be prefixed by the protocol ( e.g. "udp:host" ) and postfixed by the port ( "host:port", "tcp:host:port",... ). If the caller has 'proto','addr' and 'port' already as separate items it can call the method with %SPEC instead. Right now it has now way to check if the leg can deliver to a specific host because it has no access to the routing information of the underlying OS, so that only proto will be checked. fd Returns socket of leg. In some special environments (like tests) there might be legs, which don't have a socket associated. In this case you need to call receive from Net::SIP::Dispatcher yourself, because it cannot be called automatically once it receives data on the socket. dump Returns string containing information about the leg. Used for debugging. perl v5.14.2 2012-06-26 Net::SIP::Leg(3pm)
All times are GMT -4. The time now is 12:12 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy