Sponsored Content
Full Discussion: What does ${x} mean?
Top Forums Shell Programming and Scripting What does ${x} mean? Post 303031695 by rbatte1 on Monday 4th of March 2019 12:17:04 PM
Old 03-04-2019
The { and } are very useful for clarity. It is also very useful for these cases too:-
  • You want to refer to command line parameter ten or over. Some OSes would interpret $10 as actually the first parameter suffixed with a zero. You would need to refer to ${10} instead.
  • You might want to refer to a variable and put in a suffix of your own, then $var_suffix will not work, but ${var}_suffix will. The _suffix will be treated as though it is part of the variable name with the first format, but is just literal text appended after the value of the variable in the latter.

The second case might be a bit obscure, so perhaps a demonstration on the command line is better:-
Code:
$ a=Hello
$ a_b=world
$ echo $a
Hello
$ echo $a_b
world
$ echo ${a}_b
Hello_b



I hope that this helps and that I haven't confused things.
Robin

Last edited by rbatte1; 03-05-2019 at 06:41 AM.. Reason: Corrected my example. Oh how wrong I was trying to illustrate the issue but getting it backwards!
These 3 Users Gave Thanks to rbatte1 For This Post:
 
IRSEND(1)							   User Commands							 IRSEND(1)

NAME
irsend - basic LIRC program to send infra-red commands SYNOPSIS
irsend [options] DIRECTIVE REMOTE CODE [CODE...] DESCRIPTION
Asks the lircd daemon to send one or more CIR (Consumer Infra-Red) commands. This is intended for remote control of electronic devices such as TV boxes, HiFi sets, etc. DIRECTIVE can be: SEND_ONCE - send CODE [CODE ...] once SEND_START - start repeating CODE SEND_STOP - stop repeating CODE LIST - list configured remote items SET_TRANSMITTERS - set transmitters NUM [NUM ...] SIMULATE - simulate IR event REMOTE is the name of a remote, as described in the lircd configuration file. CODE is the name of a remote control key of REMOTE, as it appears in the lircd configuration file. NUM is the transmitter number of the hardware device. For the LIST DIRECTIVE, REMOTE and/or CODE can be empty: LIST "" "" - list all configured remote names LIST REMOTE "" - list all codes of REMOTE LIST REMOTE CODE - list only CODE of REMOTE The SIMULATE command only works if it has been explicitly enabled in lircd. -h --help display usage summary -v --version display version -d --device use given lircd socket [/var/run/lirc/lircd] -a --address=host[:port] connect to lircd at this address -# --count=n send command n times EXAMPLES
irsend LIST DenonTuner "" irsend SEND_ONCE DenonTuner PROG-SCAN irsend SEND_ONCE OnkyoAmpli VOL-UP VOL-UP VOL-UP VOL-UP irsend SEND_START OnkyoAmpli VOL-DOWN ; sleep 3 irsend SEND_STOP OnkyoAmpli VOL-DOWN irsend SET_TRANSMITTERS 1 irsend SET_TRANSMITTERS 1 3 4 irsend SIMULATE "0000000000000476 00 OK TECHNISAT_ST3004S" FILES
/etc/lirc/lircd.conf Default lircd configuration file. It should contain all the remotes, their infra-red codes and the corresponding timing and wave- form details. DIAGNOSTICS
If lircd is not running (or /var/run/lirc/lircd lacks write permissions) irsend aborts with the following diagnostics: "irsend: could not connect to socket" "irsend: Connection refused" (or "Permission denied"). SEE ALSO
The documentation for lirc is maintained as html pages. They are located under html/ in the documentation directory. lircd(8), mode2(1), smode2(1), xmode2(1), irrecord(1), irw(1), http://www.lirc.org. irsend 0.9.0-pre1 October 2010 IRSEND(1)
All times are GMT -4. The time now is 11:32 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy