It would probably be easy to wrap std:: or boost:: regex_replace() into
a iocsh call with, e.g., 'sed'-like syntax so that you could say
epicsEnvSetSubstituted( "IOCNAME", "/(^.*)(.$)/\1/", "$(PREFIX)" )
that would give you a quite powerful tool...
HTH
- Till
On 9/29/19 6:35 PM, Jemian, Pete R. via Tech-talk wrote:
Working in the IOC shell (EPICS base 7.0.3), how to remove the last
character from an EPICS environment variable?
given this definition: epicsEnvSet(PREFIX, "xxx:")
I want to achieve this result: "xxx" by somehow editing $(PREFIX) in place.
In bash, this is possible using ${PREFIX::-1} but in the IOC shell:
iocxxx> echo $(PREFIX::-1)
macLib: macro PREFIX::-1 is undefined (expanding string echo $(PREFIX::-1))
The context is I want to change this line from:
dbLoadRecords("some.db","IOCNAME=$(PREFIX)")
to:
dbLoadRecords("some.db","IOCNAME=$(PREFIX - 1 character)")
- Replies:
- Re: ENVVAR.right_trim in IOC console Jemian, Pete R. via Tech-talk
- References:
- ENVVAR.right_trim in IOC console Jemian, Pete R. via Tech-talk
- Navigate by Date:
- Prev:
Re: ENVVAR.right_trim in IOC console Eric Norum via Tech-talk
- Next:
Re: ENVVAR.right_trim in IOC console Jemian, Pete R. via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: ENVVAR.right_trim in IOC console Eric Norum via Tech-talk
- Next:
Re: ENVVAR.right_trim in IOC console Jemian, Pete R. via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
|