Для разработки C/C++ Вам нужен gcc компилятор, который включен в большинство дистрибутивов Linux или может быть легко установлен.
Нет IDE по умолчанию: большинство людей использует своего любимого редактора (энергия, emacs, Geany и т.д....) и существуют IDE как Eclipse или KDevelop доступный.
C# может быть, покончили Моно, но это не полностью совместимо с.NET: проверьте список совместимости.
Если Вы уверены, что поля между запятыми не содержат пробелов, чем Вы могли сделать что-то вроде этого:
for job in $(echo $all_jobs | tr "," " "); do
sendevent -verbose -S NYT -E JOB_OFF_HOLD -J "$job" --owner me
done
Если Вы нуждаетесь в чем-то более устойчивом, смотрите на инструменты, должен был иметь дело с файлами CSV под Unix.
Разделение строки в конкретном символе встроено в оболочку на очень глубоком уровне: если Вы пишете $var
без любых окружающих кавычек затем это расширено следующим образом:
var
переменная.IFS
переменная. Если IFS
содержит пробельные символы, затем последовательные разделители рассматривают как один; для непробельных символов последовательные разделители приводят к пустым полям.То же происходит для замены команды $(somecommand)
, за исключением того, что шаг 1, “собирают вывод из выполнения somecommand
и разделите все новые строки в конце”.
Избежать всего этого вздора и просто получить точное значение переменной или вывод команды минус заключительные новые строки, убедиться поместить подстановку переменных или замену команды между двойными кавычками: "$foo"
, "$(foo)"
.
Для разделения результата команды susbtitution в символах запятой установить IFS=,
и оставьте замену незащищенной. Необходимо сделать еще одну вещь: выключите globbing, с set -f
(и восстановите его впоследствии с set +f
.
all_jobs=$(…)
set -f; IFS=,
for job in $all_jobs; do
sendevent -verbose -S NYT -E JOB_OFF_HOLD -J "$job" --owner me
done
set =f; unset IFS
Можно использовать xargs
:
all_jobs="job1,job2,job3"
echo $all_jobs | tr '\n' ' ' | xargs -d, --replace=xx sendevent -verbose -S NYT -E JOB_OFF_HOLD -J xx --owner me
Канал через tr
может не быть необходим если $all_jobs
не имеет новой строки в конце