在这里的OpenBSD代码中,有一条注释以下结尾:
@(#)init_main.c 8.9 (Berkeley) 1/21/94
Run Code Online (Sandbox Code Playgroud)
目的是@(#)什么?我认为这是为了使搜索更容易,但为什么要@(#)具体而不是另一个更有意义的字符模式INFO:?我知道它不是特定于OpenBSD的,因为我记得以前见过这个.
那里有一个名为sshuttle的酷工具.它过去依赖于ipfw转发数据包.似乎ipfw在Mavericks中大部分都被打破了,建议现在就使用PacketFilter.
我花了大部分时间看着PacketFilter,它看起来ipfw有一个PacketFilter不支持的功能(希望我错了).
以下规则:
ipfw -q add 12300 fwd 127.0.0.1,12300 tcp from any to any not ipttl 42 keep-state setup
Run Code Online (Sandbox Code Playgroud)
将所有流量转发到127.0.0.1(localhost)端口12300.但是,它不会更改TCP数据包中的目标IP或端口.这对于sshuttle非常重要,因为它使用有关原始目标的信息将数据包转发到另一个网络.
我在PacketFilter世界中可以找到的最接近的规则是:
rdr pass proto tcp from any to any -> 127.0.0.1 port 12300
Run Code Online (Sandbox Code Playgroud)
此规则会将流量发送到127.0.0.1(localhost)端口12300,但它也会将目标地址重写为127.0.0.1.
关于如何在OS X中获得sshuttle行为需求的任何想法?
为什么zsh: command not found: bundle之后gem install bundler?
我试着设置path=( /usr/local/lib/ruby/gems/2.2/gems/ ~/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin )中/etc/zshrc并source /etc/zshrc没有用.
root@dev:/home/dev# gem install bundler
Successfully installed bundler-1.7.12
Parsing documentation for bundler-1.7.12
Done installing documentation for bundler after 10 seconds
1 gem installed
root@dev:/home/dev# bundle
zsh: command not found: bundle
root@dev:/home/dev# uname -a
OpenBSD dev.my.domain 5.7 GENERIC#748 amd64
root@dev:/home/dev# gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 2.4.5
- RUBY VERSION: 2.2.0 (2014-12-25 patchlevel …Run Code Online (Sandbox Code Playgroud) 我%qd在浏览github代码时看到了格式说明符.然后我检查了GCC编译器,它运行正常.
#include <stdio.h>
int main()
{
long long num = 1;
printf("%qd\n", num);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
什么是格式说明目的%qd的printf()?
有没有人能够在OpenBSD的chrooted默认Apache下正确运行xinc?我想让我们的开发服务器像我们的生产服务器一样完全运行,这样我们就可以确保我们的代码运行良好.
查看"echo"命令的以下实现:
当你在列表中,我相信你会注意到每个实现中不断增长的膨胀.什么是点272线的回声计划?
我正在安装一台运行OpenBSD的电脑,我希望播放我想要的所有音乐.我希望它基本上设置在一个角落,并做它的事情.问题在于我想从任何地方控制它.我可以用我的电脑中的ssh做到这一点(虽然不是很容易).我认为从一个简单的网页控制(如选择歌曲,跳过,暂停,音量控制等)真的很酷,所以我可以通过手机和我的电脑访问它.
所以,我更喜欢使用mplayer.有没有办法控制mplayer说PHP脚本或类似的东西?
对不起,标题可能有点刺激,但我不知道更好.无论如何,我想要一个bash脚本可以在FreeBSD,OpenBSD和Linux上运行而无需修改它,但是bash并不位于Linux和BSD的同一个地方.
所以,如果我写,#!/bin/bash那么它将不适用于BSD,因为bash shell位于/usr/local/bin/bash那里.是否有任何解决方案可以让这个脚本同时工作?
或者我真的需要发送两个不同路径的脚本......?
我有一个简单的测试文件,如下所示:
use v6.c;
use NativeCall;
sub fcntl(int32, int32 --> int32) is native { * }
sub close(int32 --> int32) is native { * }
my $fd := fcntl($*OUT.native-descriptor, 0);
say $fd;
close($fd);
Run Code Online (Sandbox Code Playgroud)
返回的文件描述符是-1,这不是我想要的.但是当我在REPL中运行相同的代码时,我得到了我正在寻找的东西:
> use NativeCall
Nil
> sub fcntl(int32, int32 --> int32) is native { * }
sub fcntl (int32 $, int32 $ --> int32) { #`(Sub+{Callable[int32]}+{NativeCall::Native[Sub+{Callable[int32]},Str]}|17126514527616) ... }
> sub close(int32 --> int32) is native { * }
sub close (int32 $ --> int32) { #`(Sub+{Callable[int32]}+{NativeCall::Native[Sub+{Callable[int32]},Str]}|17126514527904) ... } …Run Code Online (Sandbox Code Playgroud) 我想使用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中的这些键?
谢谢.