расширение параметра в файле вместо вырезания

Это называется Менеджером отображения .

Похоже, вы используете LightDM -, хотя я могу ошибаться. Если это LightDM, посмотритеhttps://wiki.debian.org/LightDMи прокрутите вниз до «Изменить фон приветствующего»

.

О GDM см.https://wiki.debian.org/GDMПрокрутите вниз до «Настройка внешнего вида GDM».

-1
01.01.2021, 15:39
2 ответа

Если цель состоит в том, чтобы получить «abc.jar» из допустимого имени файла, используйте команду basename :

string2=`basename $name`
0
18.03.2021, 22:39

Если вы в какой-то момент взяли начало строки в $nameиз текстового файла, созданного в системе Windows, а затем добавили к нему .jarв конец, то у вас будет возврат каретки -символ в -между битом abcстроки и конечным .jar.

Извлекаемая строка $string2будет содержать символы

abc\r.jar

, где \rпредставляет буквальный символ возврата каретки -.

Когда это выводится с помощью echo, курсор будет возвращен в начало строки с помощью возврата каретки -, а окончательный .jarперезапишет начальный abc, оставив только .jarвидимый.

Решение состоит в том, чтобы преобразовать любой файл, содержащий начальное имя файла, в текстовый формат Unix из текстового формата DOS/Windows. Лучше всего это сделать с помощью инструмента преобразования dos2unix.

Вы также можете удалить все символы возврата каретки -в строке, используя

string2=${string2//$'\r'/}

в оболочке bashперед выводом его значения или вывести с помощью

tr -d '\r' <<<"$string2"
1
18.03.2021, 22:39

Теги

Похожие вопросы