Расширение не удаляется, правильнее так:
WIKIFILE_NAME="${WIKI_LINK##*/}"; WIKIFILE_NAME="${WIKIFILE_NAME%.*}"
как я понимаю проход только один и объединить эти две команды нельзя?..
Вот еще вариант, с expr:
WIKIFILE_NAME=`expr match "$WIKI_LINK" '.*/\(.*\)\..*'`
Ага, я попробовал, а выводится с расширением. А вот эти варианты, то что надо. Проход один, обе переменные потом единожды используются в командах. Спасибо!
Пользователь решил продолжить мысль 30 Марта 2013, 14:03:53:
Подскажите пожалуйста, еще, как настроить вывод всего выполнения скрипта в лог.
Пробовал варианты:
logger -f 1.log
1>1.log
Во втором случае создается файл лога, но он пустой. Мне нужно чтобы все содержимое терминала после запуска скрипта передавалось в файл.
Совсем запутался. Похоже что через вторую команду можно сделать, но не работает. Может я не в том месте скрипта еге вставляю (у меня в начале)?
Пользователь решил продолжить мысль 30 Марта 2013, 17:10:15:
Еще возникла проблема, не могу вызвать функцию из меню выбора.
PS3="${GREEN}Выберите необходимую операцию: ${STANDART}"
options=("${YELLOW}Функция 1${STANDART}" "${YELLOW}Функция 2${STANDART}" "${YELLOW}Выход${STANDART}")
select opt in "${options[@]}"
do
case $opt in
"${YELLOW}Функция 1${STANDART}")
#echo "you chose choice 1"
compile # Вот такая ошибка на этой строке: compile: команда не найдена
;;
"${YELLOW}Функция 2${STANDART}")
echo "you chose choice 2"
;;
"${YELLOW}Выход${STANDART}")
break
;;
*) echo invalid option;;
esac
done
function compile {
...
}
P.S. GREEN и STANDART - это цветовое форматирование.