Я работаю с Терминалом (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
$
Править: Кажется, что это - дефектный синтаксис для команды, но я не уверен, что это - причина для стрелок.
В инструменте командной строки MySQL, который означает, инструмент ожидает, что Ваш вход продолжит следующую строку. Здесь это ожидает целевого пути.
Общие "полные" команды SQL записаны с отступами, который поддерживается в командной строке. Вы сказали бы что-то как
SELECT
`users`.*
FROM
`users`
WHERE
`users`.`is_active` = 1 AND
`users`.`age` < 13
ORDER BY
`users`.`username`
Стрелки являются интерактивной подсказкой продолжения. При вводе незаконченной команды оболочка SQL (вызванный командой mysql) ожидает остальной части ее.
В данном случае оболочка SQL ожидает целевого пути для mysqldump.
Кроме того, команды не завершены, пока Вы не завершаете команды с точкой с запятой. (Спасибо @MrStatic)