Sponsored Content
Full Discussion: $ of $i
Special Forums UNIX Desktop Questions & Answers $ of $i Post 302597479 by gary_w on Friday 10th of February 2012 11:55:05 AM
Old 02-10-2012
Interesting. The ${!VARNAME} syntax does not work on our ksh or ksh93 on Solaris. Throws a bad substitution error.

Doing it using eval works though with either shell:

Code:
#!/bin/bash

ASDF="qwerty"
VARNAME="ASDF"

# If ksh, below errors with:   "${!VARNAME}": bad substitution
echo ${!VARNAME}

# This works with either shell:
eval echo "\$${VARNAME}"

Output:
$ efs
qwerty
qwerty
$
 
shells(4)							   File Formats 							 shells(4)

NAME
shells - shell database SYNOPSIS
/etc/shells DESCRIPTION
The shells file contains a list of the shells on the system. Applications use this file to determine whether a shell is valid. See getuser- shell(3C). For each shell a single line should be present, consisting of the shell's path, relative to root. A hash mark (#) indicates the beginning of a comment; subsequent characters up to the end of the line are not interpreted by the routines which search the file. Blank lines are also ignored. The following default shells are used by utilities: /bin/bash, /bin/csh, /bin/jsh, /bin/ksh, /bin/ksh93, /bin/pfcsh, /bin/pfksh, /bin/pfsh, /bin/sh, /bin/tcsh, /bin/zsh, /sbin/jsh, /sbin/sh, /usr/bin/bash, /usr/bin/csh, /usr/bin/jsh, /usr/bin/ksh, /usr/bin/ksh93, /usr/bin/pfcsh, /usr/bin/pfksh, /usr/bin/pfsh, and /usr/bin/sh, /usr/bin/tcsh, /usr/bin/zsh, and /usr/sfw/bin/zsh. /etc/shells overrides the default list. Invalid shells in /etc/shells could cause unexpected behavior, such as being unable to log in by way of ftp(1). FILES
/etc/shells list of shells on system SEE ALSO
vipw(1B), ftpd(1M), sendmail(1M), getusershell(3C), aliases(4) SunOS 5.11 20 Nov 2007 shells(4)
All times are GMT -4. The time now is 05:53 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy