箭头键在 shell 中不起作用
Arrow keys not working in shell
我正在开始一个 Laravel 5 项目,并尝试 运行 使用 'php artisan tinker' (psy shell) 进行一些实验,但我 运行宁到一些怪异。在 tinker/psy shell 中,按任何箭头键都会将字符文字打印到屏幕上,而不是执行预期的行为(向左和向右移动字符,向上和向下循环最近的命令)。
上正在输出^[[A
。
向下正在输出^[[B
。
右边是输出^[[C
。
左边是输出^[[D
.
这可能是我终端的问题,而不是 Laravel 错误。当 运行ning php -a
.
时,我遇到了同样的错误行为
我在 OSX 上 运行ning 终端,带有 xterm 仿真。
PHP REPL 没有实现 readline 的行编辑和历史功能。我不知道是否有实现它的 PHP 模块,但你可以这样做:
rlwrap php artisan tinker
您可能需要为您的 OS 安装 rlwrap。
这是因为 PHP 没有使用 readline 支持构建。您可以在使用 --with-readline
参数编译和构建 PHP 时启用此功能。
http://php.net/manual/en/features.commandline.interactive.php
就我而言,我需要安装 php7-readline
sudo zypper in php7-readline
[sudo] password for root:
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following NEW package is going to be installed:
php7-readline
1 new package to install.
Overall download size: 64.0 KiB. Already cached: 0 B. After the operation, additional 30.9 KiB will be used.
Continue? [y/n/...? shows all options] (y):
Retrieving package php7-readline-7.2.1-1.1.x86_64 (1/1), 64.0 KiB ( 30.9 KiB unpacked)
Retrieving: php7-readline-7.2.1-1.1.x86_64.rpm ......................................................................................[done (8.4 KiB/s)]
Checking for file conflicts: ....................................................................................................................[done]
(1/1) Installing: php7-readline-7.2.1-1.1.x86_64 ................................................................................................[done]
我的os:美分os
我通过 :
解决了这个问题
sudo yum install rlwrap
alias tinker='rlwrap php artisan tinker'
我正在开始一个 Laravel 5 项目,并尝试 运行 使用 'php artisan tinker' (psy shell) 进行一些实验,但我 运行宁到一些怪异。在 tinker/psy shell 中,按任何箭头键都会将字符文字打印到屏幕上,而不是执行预期的行为(向左和向右移动字符,向上和向下循环最近的命令)。
上正在输出^[[A
。
向下正在输出^[[B
。
右边是输出^[[C
。
左边是输出^[[D
.
这可能是我终端的问题,而不是 Laravel 错误。当 运行ning php -a
.
我在 OSX 上 运行ning 终端,带有 xterm 仿真。
PHP REPL 没有实现 readline 的行编辑和历史功能。我不知道是否有实现它的 PHP 模块,但你可以这样做:
rlwrap php artisan tinker
您可能需要为您的 OS 安装 rlwrap。
这是因为 PHP 没有使用 readline 支持构建。您可以在使用 --with-readline
参数编译和构建 PHP 时启用此功能。
http://php.net/manual/en/features.commandline.interactive.php
就我而言,我需要安装 php7-readline
sudo zypper in php7-readline
[sudo] password for root:
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following NEW package is going to be installed:
php7-readline
1 new package to install.
Overall download size: 64.0 KiB. Already cached: 0 B. After the operation, additional 30.9 KiB will be used.
Continue? [y/n/...? shows all options] (y):
Retrieving package php7-readline-7.2.1-1.1.x86_64 (1/1), 64.0 KiB ( 30.9 KiB unpacked)
Retrieving: php7-readline-7.2.1-1.1.x86_64.rpm ......................................................................................[done (8.4 KiB/s)]
Checking for file conflicts: ....................................................................................................................[done]
(1/1) Installing: php7-readline-7.2.1-1.1.x86_64 ................................................................................................[done]
我的os:美分os 我通过 :
解决了这个问题sudo yum install rlwrap
alias tinker='rlwrap php artisan tinker'