Я пытался заставить эту функцию работать. Я нахожусь в 17-дюймовом MacBook Pro в начале 2011 года. Установка всех переменных под «else» отлично работает, если вы запускаете их отдельно, они также эхо правильно. По какой-то причине, когда я помещаю их в функцию ... Я получаю синтаксическую ошибку на линии 12 иПеременная работает вне функции, внутренняя функция дает синтаксическую ошибку
battery()
{
BATTERYISPRESENT=`ioreg -l | grep Cycle`
if [[ $BATTERYISPRESENT != *'Cycle' ]]
then
echo "No Battery Present, Probably a desktop Mac."
else
BATTERYCYCLES=`system_profiler SPPowerDataType | grep "Cycle Count" | awk '{print $3}'`
BATTCURRCAP=`pmset -g batt | sed -n '2 p' | awk '{ print $2 }' | sed 's/;//g'`
BATTERYCHARGESTATUS=`system_profiler SPPowerDataType | grep "Charging" | awk '{ print $2 }'`
BATTERYISCHARGING=`system_profiler SPPowerDataType | grep -A 4 "AC Charger Information" | grep "Connected: " | awk '{ print $2 }'`
CHARGERISCONNECTED=`system_profiler SPPowerDataType | grep -A 4 "AC Charger Information" | grep "Connected: " | awk '{ print $2 }'`
echo $BATTERYCYCLES
echo $BATTCURRCAP
echo $BATTERYISCHARGING
echo $CHARGERISCONNECTED
}
выход читают:
линии 12: неожиданный EOF при поиске соответствия ``»
строка 18: ошибка синтаксиса: неожиданный конец файла
Любой помощи был бы очень благодарен.
В следующий раз, когда у вас возникла проблема со сценарием оболочки, вы можете сэкономить некоторое время, если сначала вставьте его в [shellcheck.net] (http://www.shellcheck.net/). Если shellcheck не решит вашу проблему (или вы не понимаете сообщения об ошибках shellcheck), тогда перейдите к SO. – John1024
Спасибо за подсказку! – cducasse
Добро пожаловать в переполнение стека. Обратите внимание, что предпочтительный способ сказать «спасибо» здесь ответы на вопросы и полезные ответы (если у вас достаточно репутации, чтобы это сделать), и, приняв наиболее полезный ответ на любой интересующий вас вопрос (что также дает вам небольшой импульс для вашей репутации ). См. Страницу [About], а также [Как задать вопросы здесь?] (Http://stackoverflow.com/help/how-to-ask) и [Что мне делать, когда кто-то отвечает на мой вопрос ? ?] (http://stackoverflow.com/help/someone-answers) –