Конвертируйте строки кода в скрипт для archlinux на usb (dos2unix и $ HOME не работают) - PullRequest
0 голосов
/ 25 сентября 2019

Мне нужно как можно быстрее выполнить некоторые команды после загрузки asrchlinux с usb.Я попытался создать файл сценария (созданный в Windows с помощью блокнота, а затем переименовать его с помощью .sh) с помощью следующих команд, но, очевидно, он не сработал.

Команды, которые мне нужно выполнить:

cd /
umount /sys/firmware/efi/efivars/
mount -t efivarfs rw /sys/firmware/efi/efivars/
cd /sys/firmware/efi/efivars/
chattr -i "gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9" 
rm gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9
printf "\x07\x00\x00\x00\x01\x00\x00\x00"> /sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9
chattr +i "/sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9"
cd /
umount /sys/firmware/efi/efivars/
"reboot" 

Я попытался изменить cd / на cd $ HOME и попытался также сделать "dos2unix", но после некоторых, возможно, простых ошибок, которые я не могу понять, я сдался.

Это было быБыло бы здорово, если бы я мог протестировать скрипт в Windows, если это возможно, возможно, с определенным программным обеспечением, просто чтобы убедиться, что он работает без ошибок.

Мне нужно запустить этот код на компьютере Mac, который не может загрузиться.

1 Ответ

0 голосов
/ 25 сентября 2019

1: вы не можете предполагать, что $ HOME установлен во время загрузки системы на этом этапе.Оставьте его в покое и используйте абсолютные имена файлов / каталогов.

2: написание сценариев Unix с помощью блокнота Windows не очень хорошо.Вы можете попробовать notepad ++ или другие лучшие редакторы, чтобы сохранить файл с правильным концом строки (только LF, а не CR + LF).

3: с dos2unix все в порядке, но также используйте команду file (1) дляпроверьте, какой файл у вас есть.

4: первая строка вашего скрипта должна быть:

#!/bin/sh

, чтобы убедиться, что он может быть выполнен.

5: тестирование UnixСценарий в Windows сложен, и еще сложнее, если вы возитесь с внутренностями ОС, как это делает ваш скрипт.

...