Это должно сработать, я только что проверил его, и он работал, как ожидалось: никакого расширения, замены или того, что произошло с вами.
cat <<< '
#!/bin/bash
curr=`cat /sys/class/backlight/intel_backlight/actual_brightness`
if [ $curr -lt 4477 ]; then
curr=$((curr+406));
echo $curr > /sys/class/backlight/intel_backlight/brightness;
fi' > file # use overwrite mode so that you don't keep on appending the same script to that file over and over again, unless that's what you want.
Использование следующего также работает.
cat <<< ' > file
... code ...'
Кроме того, стоит отметить, что при использовании heredocs, таких как << EOF
, замена и расширение переменных и т. п. место. Итак, сделаем что-то вроде этого:
cat << EOF > file
cd "$HOME"
echo "$PWD" # echo the current path
EOF
всегда приведет к расширению переменных $HOME
и $PWD
. Поэтому, если ваш домашний каталог /home/foobar
, а текущий путь - /home/foobar/bin
, file
будет выглядеть следующим образом:
cd "/home/foobar"
echo "/home/foobar/bin"
вместо ожидаемого:
cd "$HOME"
echo "$PWD"
Измените backend на автоматический:
Инструменты> настройки> Консоль IPython> Графика> Бэкэнд> Бэкэнд: Автоматический
Затем закройте и откройте Spyder.
После применения: Инструменты> Настройки> Графика> Бэкэнд> Автоматически Просто перезапустите ядро
И вы обязательно получите Интерактивный график. Счастливое кодирование!
Как говорится в комментариях, проблема заключается в вашем скрипте. На самом деле, есть две проблемы:
None
где-то. Возможно, из-за defaultdict? show()
после каждого подзаголовка. show()
следует вызывать один раз в конце вашего скрипта. Альтернативой является использование интерактивного режима, поиск ion
в документации matplotlib. Вы можете быстро управлять этим, введя встроенные магические команды в консоли IPython Spyder, которые я нахожу быстрее, чем их выбор из меню настроек. Изменения вступят в силу немедленно, без необходимости перезапуска Spyder или ядра.
Чтобы переключиться на «автоматические» (т.е. интерактивные) графики, введите:
%matplotlib auto
, затем, если вы хотите переключитесь на «inline», введите это:
%matplotlib inline
(Примечание: эти команды не работают в консолях, отличных от IPython)