我想使用ksh使用home,end,delete,pageup,pagedown.我的术语是xterm-color.这些键适用于tcsh和zsh,但不适用于ksh(打印波浪号〜)
我找到了这个:
bind '^[[3'=prefix-2
bind '^[[3~'=delete-char-forward
bind '^[[1'=prefix-2
bind '^[[1~'=beginning-of-line
bind '^[[4'=prefix-2
bind '^[[4~'=end-of-line
Run Code Online (Sandbox Code Playgroud)
但是当我设置一个bindkey时,最后一个不再起作用.
如何在ksh中使用.kshrc中的这些键?
谢谢.
我想在我的Debian lenny桌面而不是glibc上使用OpenBSD的malloc,realloc和free实现.
他们只是简单地替换:他们会在我的Linux桌面上工作吗?
我需要哪些文件以及哪些OpenBSD软件包包含它们?
这个问题的根本原因是我试图为Perl 的新选项/参数处理模块(OptArgs)编写测试.这当然涉及@ARGV根据这个问题的答案解析我正在做的事情.这适用于定义了I18N :: Langinfo :: CODESET的系统[1].
在langinfo(CODESET)没有可用的系统上,我希望至少根据观察到的行为尽最大努力.但是到目前为止我的测试表明,有些系统我甚至无法正确地将unicode参数传递给外部脚本.
我已经设法在各种系统上运行类似下面的内容,其中"test_script"是一个仅执行以下操作的Perl脚本print Dumper(@ARGV):
use utf8;
my $utf8 = '¥';
my $result = qx/$^X test_script $utf8/;
Run Code Online (Sandbox Code Playgroud)
我发现在FreeBSD上test_script接收的字节可以解码为Perl的内部格式.但是在OpenBSD和Solaris上,test_script似乎得到的字符串"\x{fffd}\x{fffd}"只包含unicode替换字符(两次?).
我不知道qx运营商背后的机制.我认为它要么exec是炮弹,要么炮轰,但不像文件句柄(我可以将它们用于编码),我不知道如何确保它能够满足我的需求.与此相同system().所以我的问题是我上面没有正确做什么?否则与Perl或OpenBSD和Solaris上的shell或环境有什么不同?
[1]实际上我认为到目前为止根据CPAN测试人员的结果只有Linux.
更新(x2):我目前通过cpantester的设置运行以下方法来测试Schwern的假设:
use strict;
use warnings;
use Data::Dumper;
BEGIN {
if (@ARGV) {
require Test::More;
Test::More::diag( "\npre utf8::all: "
. Dumper( { utf8 => $ARGV[0], bytes => $ARGV[1] } ) );
}
}
use utf8;
use …Run Code Online (Sandbox Code Playgroud) 我正在阅读Tmux源代码,看看它是如何工作的.它看到它imsg用于我的IPC,这是我从未听说过的.我一直在努力寻找更多信息,但事实证明imsg这有点难以谷歌,而且我为iMessage获得了很多结果.
我在imsg这里找到了一些文档,所以它似乎是一个OpenBSD库.我开始寻找Linux实现,但我找不到任何东西.看来Tmux的作者编写了自己的兼容层.这让我感到惊讶,因为imsg它看起来真的很有用.Linux是否有类似的C API,我只是不知道?
发现自己正在寻找arc4random_uniform源(http://bxr.su/o/lib/libc/crypt/arc4random_uniform.c)
我的问题涉及以下一行(评论是他们的原始评论):
/* 2**32 % x == (2**32 - x) % x */
min = -upper_bound % upper_bound;
Run Code Online (Sandbox Code Playgroud)
现在,我不是数学天才,但肯定-N%N总是等于零.那么为什么不写
min=0
Run Code Online (Sandbox Code Playgroud) 在OpenBSD的手动状态:
出于安全原因,OpenBSD不会将IPv4流量路由到AF_INET6套接字,并且不支持IPv4映射地址,其中IPv4流量被视为来自IPv6地址,如:: ffff:10.1.1.1.如果需要接受IPv4和IPv6流量,请在两个插槽上进行侦听.
但是,没有关于这些"安全原因"的解释.这些是什么?我想不出任何与该映射相关的安全问题.
我正在尝试获取子进程的退出代码.在Linux和FreeBSD上,我可以这样:
[0] [ishpeck@kiyoshi /tmp]$ uname
FreeBSD
[0] [ishpeck@kiyoshi /tmp]$ cat tinker.c
#include <stdio.h>
#include <sys/wait.h>
int main(void)
{
FILE *proc = popen("ls", "r");
printf("Exit code: %d\n", WEXITSTATUS(pclose(proc)));
return 0;
}
[0] [ishpeck@kiyoshi /tmp]$ gcc tinker.c -o tinker
[0] [ishpeck@kiyoshi /tmp]$ ./tinker
Exit code: 0
[0] [ishpeck@kiyoshi /tmp]$ grep WEXITSTATUS /usr/include/sys/wait.h
#define WEXITSTATUS(x) (_W_INT(x) >> 8)
Run Code Online (Sandbox Code Playgroud)
但是,在OpenBSD上,我收到编译器的投诉......
[0] [ishpeck@ishberk-00 /tmp]$ uname
OpenBSD
[0] [ishpeck@ishberk-00 /tmp]$ cat tinker.c
#include <stdio.h>
#include <sys/wait.h>
int main(void)
{
FILE *proc = popen("ls", "r");
printf("Exit code: …Run Code Online (Sandbox Code Playgroud) 我不明白 Postgres 如何与 openBSD 一起工作。我在 debian 上没有遇到这些问题(我不必执行 initdb)。
我做了如下
pkg_add postgresql-server php-pgsql
su - _postgresql
initdb -D /var/postgresql/data -U postgres - E UTF8 -A md5 -W
Run Code Online (Sandbox Code Playgroud)
但在那之后,我没有得到我期望的结果
我可以启动数据库
pg_ctl -D /var/postgresql/data/ -l logfile start
Run Code Online (Sandbox Code Playgroud)
或与
rcctl enable postgresql
rcctl start postgresql
Run Code Online (Sandbox Code Playgroud)
但我不明白如何连接到它
因为如果我这样做:
# su - _postgresql
$ psql
Password:
psql: FATAL: password authentication failed for user "_postgresql"
Run Code Online (Sandbox Code Playgroud)
为什么是 _postgresql 用户而不是 postgres?我应该使用哪个密码?
这是pg_hba.conf,我改了结尾,
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all …Run Code Online (Sandbox Code Playgroud) 我最近一直在阅读D编程语言,并且有兴趣将它用于可在OpenBSD上运行的小应用程序.
据我所知,编译器没有OpenBSD端口,但我可以在posix.mak文件中看到对OpenBSD的引用.我目前还没有方便的OpenBSD开发环境,所以在我准备之前,我想知道是否有人尝试在OpenBSD上使用D进行开发.
怎么回事?安装起来容易吗?是否有任何"陷阱"需要注意?提前致谢.
php-fpm,nginxexec在使用时.phpfiles() shell_exec() system()从命令行工作正常.
效果很好的例子:
#php myphp.php
Run Code Online (Sandbox Code Playgroud)
myphp.php 包含:
<?php
exec('ping -c 3 google.com', $output);
print_r($output);
?>
Run Code Online (Sandbox Code Playgroud)
但是,如果我戴上我的浏览器http://localhost/myphp.php,它就不再起作用了.
有任何想法吗?我编辑
我制作了一个包含以下内容的文件:
#cat info.php
<?php
if(function_exists('exec')) {
echo "exec is enabled";
}
phpinfo();
?>
Run Code Online (Sandbox Code Playgroud)
在我的浏览器中,打印
exec已启用,y php信息..
我制作了一个包含以下内容的文件:
#cat info.php
<?php
// Check for safe mode
if( ini_get('safe_mode') ){
// Do it the safe mode way
echo "Do it the safe mode way";
}else{
// Do it the regular way
echo "Do it the regular way"; …Run Code Online (Sandbox Code Playgroud)