Что делает стрелку (“->”), символ означает на командной строке?

Я работаю с Терминалом (Mac OS X), но я думаю, что это - встроенная часть Linux. Иногда, когда я выполняю команду, Терминал возвращает новую, строку с отступом только с -> на строке. Кажется, что это ожидает чего-то, но я не знаю, требует ли это действия с моей стороны или нет. Нажатие Enter просто возвращает другого, идентичную строку. Когда я Ctrl + C, это говорит Aborted, значение чего-то ясно обрабатывало. Что это означает? Например, следующее:

$ mysql -u root -h host -p
Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is X
Server version: 5.1.39-log MySQL Server

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> mysqldump my_database
    -> 
    -> [Ctrl + C]
    -> Aborted
$

Править: Кажется, что это - дефектный синтаксис для команды, но я не уверен, что это - причина для стрелок.

6
задан 05.07.2010, 18:11

2 ответа

В инструменте командной строки MySQL, который означает, инструмент ожидает, что Ваш вход продолжит следующую строку. Здесь это ожидает целевого пути.

Общие "полные" команды SQL записаны с отступами, который поддерживается в командной строке. Вы сказали бы что-то как

SELECT
    `users`.*
FROM
    `users`
WHERE
    `users`.`is_active` = 1 AND
    `users`.`age` < 13
ORDER BY
    `users`.`username`
11
ответ дан 07.12.2019, 15:29

Стрелки являются интерактивной подсказкой продолжения. При вводе незаконченной команды оболочка SQL (вызванный командой mysql) ожидает остальной части ее.

В данном случае оболочка SQL ожидает целевого пути для mysqldump.

Кроме того, команды не завершены, пока Вы не завершаете команды с точкой с запятой. (Спасибо @MrStatic)

7
ответ дан 07.12.2019, 15:29

Теги

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