export PATH=~/anaconda3/bin/python:$PATH
Это похоже на путь к исполняемому файлу .
ПУТЬ
должен содержать каталоги:export PATH=~/anaconda3/bin:$PATH
#!~/anaconda3/bin/python python3
- Строки Shebang нуждаются в фактических путях и не выполняют тильды (это в вашей оболочке). Запишите фактический путь в исполняемый файл, начиная с
/
.Эта строка shebang будет работать
~ / anaconda3 / bin / python
с аргументомpython3
, за которым следует имя сценария.Вы, вероятно, этого не хотите, а вместо этого запускаете либоpython
, либоpython3
.#! / Home / thomas / anaconda3 / bin / python
screen -dm -S $p bash -c "cd /inside/home/thjmatth/essential; python3 essentialpairs_ttest_tissue_1.py; exec sh"
Если бы вы все еще использовали эту строку после обновления строки shebang, она была бы проигнорирована;
python3
из вашегоPATH
(который не совпадает сpython
!) будет выполнен и запустит скрипт по очереди и просто пропустит shebang строка в качестве комментария. Если вы сделаете скрипт исполняемым (chmod + x essentialpairs_ttest_tissue_1.py
), вы можете запустить его напрямую:./essentialpairs_ttest_tissue_1.py
и строка shebang будет обработана.
В этом случае вы можете , вероятно, уйти, просто исправив переменную
PATH
из первого раздела, если только у вас нет стартовой конфигурации Bash, которая сбрасывает переменную. Если имя исполняемого файла -python
, обязательно обновите командную строкуscreen
, чтобы использовать ее вместоpython3
.
Спасибо Raman Sailopal и cas за помощь, но она мне не подошла.
Вот точные шаги, которые необходимо выполнить, предполагая, что /dev/sda4 — это корень Linux, /dev/sdb2 — ваш раздел EFI (, расположенный в /boot/efi ), а ваши файлы linux/initrd — /boot/vmlinuz-linux
&/boot/initramfs.img
Запишите живой USB-накопитель Ubuntu (16.04? )с архитектурой amd64, загрузитесь и вставьте эти команды:
sudo os-prober
efibootmgr
Установите os -prober или efibootmgr, если они еще не установлены:
sudo apt-get install os-prober
sudo apt-get install efibootmgr
Grub в режиме efi, вероятно, не установлен, установите его тоже
sudo apt-get install grub-efi-amd64-signed
Затем установите grub:
sudo mount -t ext4 /dev/sda4 /mnt
sudo mount -t vfat /dev/sdb2 /mnt/boot/efi
grub-install --target=x86_64-efi --efi-directory=/mnt/boot/efi --boot-directory=/mnt/boot --bootloader-id=grub
Не пытайтесь использовать grub-mkconfig
, это не сработает.
Вместо этого загрузитесь с вашего нового загрузчика grub, у вас будет оболочка grub, вставьте эти команды:
set root=(hd0,4)
linux /boot/vmlinuz-linux root=/dev/sda4
initrd /boot/initramfs.img
boot
После этого вы должны быть в Linux, смонтировать раздел efi, если он еще не установлен, установить grub/os -prober/efibootmgr и запустить эти:
sudo os-prober
grub-install --target=x86_64-efi --efi-directory=/boot/efi --boot-directory=/boot --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg
Перезагрузка,и жратва вернулась.
Загрузитесь с носителя для восстановления Linux/живого компакт-диска, а затем смонтируйте /dev/sda4 в /mnt и /dev/sdb2 в /mnt/boot. chroot /mnt, а затем запустите grub -install /dev/sdb.