Необходимо получить доступ к аргументам командной строки, а не считывать из стандартных входных данных. Сценарий с соответствующим методом:
#!/bin/bash
username="$1"
password="$2"
echo "script attempted with $username $password"
Специальные переменные $1
, $2
& c. содержат первый, второй & c. аргументы, переданные в выполняющейся командной строке. Дополнительная информация доступна здесь , среди многих других мест.
-121--174116-
Я получил решение с помощью imagemagick для преобразования и параллельно для ускорения моего процесса преобразования:
ls *.JPEG |parallel convert -density 200 -resize 496X646 -quality 100 {} ../{.}.PDF
-121--8165-
muru и другие смотрят на это с точки зрения программируемости и конфигурируемости самой vim; другие респонденты смотрят SSH. Но есть третий, совсем другой, ответ.
U + 0303
«комбинирующий тильду» (̃). Таким образом, нажатие ~ Пространства позволяет получить простой символ U + 007E
«тильда» (~) в эмуляторе терминала; и, следовательно, как вы на самом деле воздействуете на команду vim. Клавиша ~ сама по себе не отправляет символы через ваш терминал, потому что эмулятор терминала ожидает, чтобы увидеть, что нажато дальше после комбинации «мертвых» клавиш. Что касается Вим, то на данный момент ничего еще не произошло.
Если это так, вы можете продемонстрировать это самому себе, войдя в режим вставки и затем нажав что-то еще после ~ . То, что вы нажимаете, конечно, будет зависеть от выбранной раскладки клавиатуры. Обычно в таких макетах ~ a будет объединяться с λ .
«Общая вторичная группа», определенная в стандарте ISO/IEC 9995-3: 2010, должна быть инвариантной для различных национальных структур. Символ U + 0303
«комбинирующая тильда» имеет стандартное место во вторичной группе.
Поэтому на раскладке клавиатуры, соответствующей стандарту ISO/IEC 9995-3: 2010, следует иметь возможность комбинировать тильду с одной и той же последовательностью клавиш независимо от раскладки основной группы.
Что означает, в частности, здесь: Если вы перейдете на макет, где ~ не не является мертвой клавишей, что, вероятно, именно то, что вы только собираетесь сделать, до тех пор, пока раскладка клавиатуры поддерживает «общую вторичную группу» ISO/IEC, вы по-прежнему имеете доступ к мертвой клавише, если она вам нужна.
Ваш эмулятор терминала и раскладка клавиатуры, скорее всего, не поддерживают это, так как конкретные реализации довольно редки на момент написания. Но это то, к чему люди добивались стандартов клавиатуры ISO последние несколько лет.
Сообщение no init found
сообщает мне, что ядро Linux уже запущено, но не может найти /sbin/init
в корневой файловой системе, возможно, потому, что оно ищет не в том месте.
Узнайте, как настройки загрузчика Linux определяют корневую файловую систему. Обычно это опция root=
для ядра Linux.
Если корневая файловая система идентифицируется как /dev/sdaN
(, где N — это число ), то она указывает N-й раздел на том диске, который будет обнаружен первым драйверами, включенными в ваш файл initramfs/initrd. Когда у вас подключен только диск Linux, это предположение верно, и ваша система загружается нормально. Но когда оба диска подключены, ваш диск с Windows обнаруживается первым, и опция root=/dev/sdaN
эффективно указывает на неправильный диск.
Лучший способ исправить это — указать корневую файловую систему так, чтобы она не зависела от порядка обнаружения дисков.
В Linux запустите blkid
от имени пользователя root. Он перечислит все разделы диска, которые он может видеть, и все идентификаторы для них. Найдите строку, соответствующую разделу, содержащему вашу корневую файловую систему :, в ней должно быть указано значение UUID=<a long hexadecimal string>
. Он может иметь или не иметь LABEL=<a short name>
. Также будут внесены в список PARTUUID
и, возможно, PARTLABEL
; игнорируй их.
В большинстве дистрибутивов Linuxвы можете изменить опцию root=/dev/sdaN
на форму root=UUID=<the long hexadecimal string form blkid>
. Таким образом, ваша корневая файловая система будет явно идентифицирована по уникальному UUID файловой системы, а не по порядку ее обнаружения.
Поскольку вы не указали название и версию вашего дистрибутива Linux, я не могу сказать вам, где именно вы должны сделать эту модификацию, так как расположение конфигурации загрузчика несколько различается в разных дистрибутивах Linux. Но в современных дистрибутивах /etc/default/grub
может быть хорошим предположением. После изменения /etc/default/grub
вам, как правило, придется выполнить какую-то команду для обновления фактического загрузчика :, это может быть update-grub
или grub-mkconfig
или что-то подобное.