Автор Тема: [РЕШЕНО] команда "`" (обратный апостроф). Для чего?  (Прочитано 676 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kudascheff

после ввода в терминале команды "`"(обратный апостроф) исчезла строка приглашения, а вместо нее появился знак ">".
что это значит? для чего используется эта команда?
kudashev@dorn:~$ `
>
>
>

« Последнее редактирование: 18 Июня 2020, 18:20:06 от kudascheff »
 

Оффлайн endru

Re: команда "`" (гравис). Для чего?
« Ответ #1 : 16 Июня 2020, 17:28:57 »
Это еще тянется со времен мелких мониторов. когда нужно ввести команду которая не влазит в экран.

Оффлайн kudascheff

Re: команда "`" (гравис). Для чего?
« Ответ #2 : 16 Июня 2020, 17:34:14 »
Это еще тянется со времен мелких мониторов.

хорошо. редкая, не используемая в современных компьютерах команда. а что означает символ ">" в начале строки?
« Последнее редактирование: 16 Июня 2020, 17:45:54 от kudascheff »
 

Оффлайн endru

Re: команда "`" (гравис). Для чего?
« Ответ #3 : 16 Июня 2020, 17:50:18 »
\n - перевод каретки, новую строку.
 
Пользователи, которые поблагодарили этот пост: kudascheff

Оффлайн mcherenkov

Re: [РЕШЕНО] команда "`" (гравис). Для чего?
« Ответ #4 : 17 Июня 2020, 18:50:23 »
Цитировать
после ввода в терминале команды "`"(гравис) исчезла строка приглашения, а вместо нее появился знак ">".
что это значит?
Этим приглашением ($PS2 (man bash)) bash предлагает завершить команду, начатую указанным Вами знаком (но не наконченную другим обратным апострофом).

Цитировать
для чего используется эта команда?
Команда "обратные апострофы" (``) возвращает результат выполнения того, что заключено между ними.
Для тех же целей можно применять башизм "$()" (кстати работает даже в двойных кавычках). Причём в случае "$()" можно делать вложенные конструкции. Однако если скрипт должен работать не только в баше, придётся всё же для совместимости с sh использовать обратные апострофы.

$ `
> cat`
pwd
/home/user
$ echo $PS2
>
$ PS2=_
$ `
_echo id
_`
uid=1000(user) gid=1000(user) группы=1000(user),24(cdrom),25(floppy)...
$ echo "Сейчас $(date +%F_%T). А зовут меня `whoami`."
Сейчас 2020-06-17_18:46:02. А зовут меня user.
$
 
Пользователи, которые поблагодарили этот пост: kudascheff

Оффлайн kudascheff

Re: [РЕШЕНО] команда "`" (гравис). Для чего?
« Ответ #5 : 18 Июня 2020, 06:47:56 »
bash предлагает завершить команду
получается символ ">" это значение переменной $PS2 и она используется вместо $PS1 для отображения строки приглашения,
а обратный апостроф - это своего рода пайп "|",
возвращает результат выполнения того, что заключено между ними
при этом сначала всегда будет выполняться команда (или последовательность команд, начиная с последней) заключенная в обратные апострофы, а ее результаты будут представлленны в качестве аргументов.
« Последнее редактирование: 18 Июня 2020, 18:21:01 от kudascheff »
 

Теги:
 

[Решено] Непонятная проблема с запуском xfce и icewm.

Автор m90125

Ответов: 5
Просмотров: 2262
Последний ответ 07 Марта 2012, 21:42:24
от ihammers
[Решено]Странная проблема с Apache + *.php + mount

Автор Synthex

Ответов: 7
Просмотров: 1205
Последний ответ 05 Июня 2018, 12:53:12
от Synthex
Артефакты вместо выбора пользователя… [РЕШЕНО]

Автор shok

Ответов: 23
Просмотров: 3570
Последний ответ 05 Февраля 2013, 21:24:03
от shok
[РЕШЕНО] При открытия окна другое улетает в трей?

Автор svtv1

Ответов: 4
Просмотров: 427
Последний ответ 24 Июля 2020, 13:21:13
от yoric
[Решено] firefox 25

Автор wild_blood

Ответов: 30
Просмотров: 5590
Последний ответ 20 Ноября 2013, 14:53:31
от wild_blood