Я разрабатываю простое терминальное приложение, которое помогает скомпилировать исходные файлы C / C ++ и Python в одну команду. Но когда я выполняю функцию наподобие 'erun test.py', она всегда выдает: ERun: расширение файла неизвестно.
На мой взгляд, проблема в утверждении if. Я пытаюсь редактировать эти заявления, но ничего не изменилось. Вот мой исходный код:
#/bin/bash
# function ERun for C/C++ and python
# version 1.0
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
function erun {
if [ -z "$1" ]; then
#display usage if no paramters given
echo "Usage: erun file.c/.cpp/.py"
echo "Run: ./file"
else
for n in "$@"
do
if [ -f "$n" ] ; then
case "$n{n%,}" in
*.py)
chmod +x "$n" ;;
*.c|*.cpp)
gcc "$n" -o "$n" ;;
*)
echo "ERun: '$n' unknown file extension"
return 1
;;
esac
else
echo "'$n' - file does not exist."
return 1
fi
done
fi
}
IFS=$SAVEIFS
Мой ожидаемый вывод - получение исполняемого файла. Я буду счастлив, если вы сможете мне помочь. Кстати, если вы хотите внести свой вклад в этот крошечный проект, вот ссылка на проект: https://github.com/lvntky/ERun/:)