Thank you, very much. I suppose my mistake was thinking ^M was an indication of a file having a carriage return within it, not that ^M was itself a carriage return character. I ended up installing dos2unix and using that on my st.cmd file.
The other part of it was that I AM tracking my IOC in git, so I was getting pretty caught up in how to manage the issue globally. I'm still unsure how this can slip by unnoticed by git, and how I should tweak the way I use it to manage these mistakes in the future but that's not an EPICS question. The point is that dos2unix worked, and my st.cmd is running the ioc executable just fine now.
Thank you!
-----Original Message-----
From: Konrad, Martin
Sent: Monday, October 03, 2016 6:45 PM
To: Crisp, Daniel <[email protected]>; [email protected]
Subject: Re: ioc executable being made corrupted
Hi Dan,
../../bin/linux-x86_64/<PROD_IOC>^M: bad interpreter: No such file or
directory
Andrew is right. This is probably caused by Windows line endings in your st.cmd file. "dos2unix st.cmd" should fix your issue. In case you don't have that command try
sed -i -e "s/\^M//" st.cmd
Cheers,
Martin
P.S.: Are you tracking your IOC code in Git? If so Git should take care of converting line endings for you.
--
Martin Konrad
Control System Engineer
Facility for Rare Isotope Beams
Michigan State University
640 South Shaw Lane
East Lansing, MI 48824-1321, USA
Tel. 517-908-7253
Email: [email protected]