Что означают эти символы в некоторых командах терминала Linux? [закрыто]

Вот, это сработало для меня:

Я попытался:

sudo update-alternatives --config x86_64-linux-gnu_gl_conf sudo ldconfig -n sudo update-initramfs -u

И перезагрузился без изменений. Поэтому я попробовал:

sudo apt-get purge libvdpau-va-gl1 bumblebee* nvidia*
sudo apt-get install linux-headers-generic
sudo apt-get install nvidia-331 nvidia-settings nvidia-prime

Перезагрузка. Тем не менее, никаких изменений и такого же пустого сообщения об ошибке в настройках nvidia, когда я пытаюсь переключиться на карту nvidia.

Я попытался переключиться вручную, используя sudo prime-switch nvidia, и информация о конфигурации была обновлена. Я попробовал еще раз, и настройки nvidia попросили меня выйти из системы и войти в систему и ... вуаля! У меня это работает!

В моем случае оказалось, что перед тем, как переключиться с помощью пользовательского интерфейса nvidia-settings, мне пришлось вручную переключиться первым как суперпользователь, чтобы создать правильную конфигурацию! [ ! d5]

Хорошо, что я пробовал это, или я все равно буду заниматься, устанавливая другие драйверы! Надеюсь, это окажется полезным для кого-то еще!

12
задан 7 December 2011 в 03:01

6 ответов

См. раздел «Справочное руководство по Bash», озаглавленное «Операция оболочки» и «Руководство по разработке сценариев», глава 3 («Специальные символы»).

Я обращаюсь к тем в любое время, когда мне нужно узнать что-то новое о сценариях оболочки в ubuntu /linux.

Я думаю, что вы найдете ABS-главу 3 самой простой в навигации для своих целей. Все символы видны в крайнем левом углу страницы с описанием сразу под ними.

14
ответ дан 25 May 2018 в 16:12
  • 1
    Advanced Bash-Scripting Guide - Глава 3 замечательна. Благодарю. – Exeleration-G 7 December 2011 в 19:08
  • 2
    Список в главе 3 расширенного руководства по сценарию bash является неполным и частично неправильным. Руководство Advanced Scripting Advanced Bash не является хорошим ресурсом для обучения bash. См. mywiki.wooledge.org/BashGuide и mywiki.wooledge.org/BashFAQ . – geirha 4 March 2012 в 06:12
  • 3
    @geirha Я обнаружил, что ABS очень полезен, но для символов в определенной команде мне нравится смотреть страницы man вместо этого, и ваши ссылки тоже великолепны - закладки. Благодарю. – SaultDon 4 March 2012 в 10:59

К сожалению, вам нужно перейти на страницы руководства, так как «символы» могут иметь разные значения в зависимости от того, какая команда их читает.

Например, в вашей первой команде значение { } а также \; зависит от команды find (man find). Значение цитат в аргументе для sed зависит либо от sed, либо от bash (поскольку это котируемый параметр, он потенциально может быть оболочкой).

Для второй сложной команды это в основном повторяет материал, поэтому вы найдете большую информацию об этом в man-странице bash.

Чтобы ответить на ваш комментарий к этому, символы перенаправления> & lt; | используются для перекачки материалов из и в файлы (чем больше и меньше знаков), так и для соединения вывода команды с чужим вводом (трубой |). См. Здесь хороший учебник по перенаправлению ввода-вывода, это очень мощная конструктивная особенность оболочки Unix и набора инструментов.

7
ответ дан 25 May 2018 в 16:12
  • 1
    Хорошо, а как насчет >? Это знак, который я часто вижу, я думал, что это означает «копировать» или что-то в этом роде. Это тоже зависит от команды? – Exeleration-G 7 December 2011 в 19:00
  • 2
    @ Exeleration-G См. mywiki.wooledge.org/BashGuide/InputAndOutput#File_Redirection – geirha 4 March 2012 в 06:15

Первый ищет файлы, заканчивающиеся на .c изнутри каталога ~/ и exec utes sed (редактор строк), где sed s заходит для cybernetnews и изменяет его на cybernet.

Второй меня ускользает ... показывает пустой результат при выполнении.

3
ответ дан 25 May 2018 в 16:12
  • 1
    Это очень вероятно, потому что это взято из другого вопроса. Без контекста он, вероятно, ничего не делает. – Exeleration-G 7 December 2011 в 02:54

Лучший ресурс, который я нашел для изучения команд терминала, - это LinuxCommand, он дает подробные описания наиболее используемых команд.

2
ответ дан 25 May 2018 в 16:12
  • 1
    Плохая ссылка, пожалуйста, обновите или удалите. – flyingdrifter 16 August 2017 в 16:49

Трудно сказать вам полный смысл символов, когда вы вставляете сложные команды.

Эхо в частности.

См. man echo для -e, it (! d2)

Большинство других символов являются строковыми манипуляциями.

Итак, представьте, что у вас есть переменная i, которая содержит строку «foo»,

i=foo;echo $i
foo

Но это становится более сложным, если ваша переменная $ i также является частью строки

echo $ibar # Note: no output

echo ${i}bar # we have output
foobar

Теперь вы можете также манипулировать строками, только для печати часть

В вашем случае

$ {i # * =} = print $ i Разбить кратчайшее совпадение между * и =, но * само является подстановочным знаком.

echo ${i#o}
foo

echo ${i#*o}
o

См. http://tldp.org/LDP/abs/html/string-manipulation.html

Затем мы нажимаем подколонку (x ...) [!d11 ]

Bash будет обрабатывать команды в подклассу и возвращать выходные данные команд.

x = (подстрока строки i); continue

Теперь у нас есть тест, ["$ {! x}"]

См.: http://tldp.org/LDP/abs/html/string -manipulation.html

И здесь я больше не могу вам сказать.

В bash $ {! x} будет пустой строкой. & Amp; & Amp; == логический и || логически или

test {пустая строка} И эхо пустая строка или echo x

Вам нужно будет дать больше синтаксиса, но кажется, что это эхо-канал, куда-то выводится где-то.

Опять [] - это тест, и мы избежали [в самом начале.

Поэтому я могу объяснить только то, что делает эхо.

Причина, по которой нет вывода при вводе команды echo в терминале, является snipit кода, по умолчанию ни х, ни i не определены, поэтому весь вывод пуст.

1
ответ дан 25 May 2018 в 16:12

Для вопросов о символах на определенных языках вы можете попробовать SymbolHound. Вы можете искать в Интернете символы, которые Google не находит.

1
ответ дан 25 May 2018 в 16:12

Другие вопросы по тегам:

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