Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

1
使用zsh的行编辑器来包装子流程
是否可以使用zsh的内置行编辑器(zle)将输入提供给子进程?也就是说,我想运行zlewrap mycommand哪里zlewrap是zsh函数,并且mycommand是从stdin读取行的任何程序;zlewrap可以有效地向提供zle的行编辑功能mycommand。这是在其模型上rlwrap执行的,但是使用readline而不是zle进行行编辑。
22 zsh  line-editor 

5
导出一个env变量以在所有子shell上可用,并且可以对其进行修改吗?
假设我有 export MY_VAR=0 在~/.bashrc。 我有一个打开的gnome终端,在这个终端中,我将$MY_VARvalue 更改为200。所以,如果我愿意 echo $MY_VAR 显示在此终端200中。 现在,我在gnome终端中打开了另一个标签,然后执行 echo $MY_VAR ...而不是200,我有0。 当终端修改环境变量,并使此修改(设置为200)可用于所有后续子shell等时,我该怎么做才能保持200的值?这可能吗?

5
LILO和GRUB有什么区别?
这个问题是从Server Fault 迁移过来的,因为可以在Unix&Linux Stack Exchange上回答。 迁移 8年前。 我正在Debian下运行Web服务器,并且当前已安装GRUB。 我应该考虑使用LILO代替GRUB吗?每种都有什么优势?
22 boot  grub2  lilo 



4
在fork()之后,孩子将从哪里开始执行?
我正在尝试学习UNIX编程,并且遇到了有关fork()的问题。我知道fork()创建的进程与当前正在运行的进程相同,但是它从哪里开始?例如,如果我有代码 int main (int argc, char **argv) { int retval; printf ("This is most definitely the parent process\n"); fflush (stdout); retval = fork (); printf ("Which process printed this?\n"); return (EXIT_SUCCESS); } 输出为: 这绝对是父进程, 哪个进程打印了此文件? 哪个过程印出了这个? 我以为会fork()创建一个相同的过程,所以我最初认为在该程序中,该fork()调用将被永久递归调用。我猜是从通话fork()后开始创建的新流程fork()? 如果我添加以下代码,以区分父进程和子进程, if (child_pid = fork ()) printf ("This is the parent, child pid …
22 process  c  fork  api 

2
在远程主机(通过ssh)上启动firefox会在本地打开一个新窗口:发生了什么?
我以前从未注意到过这种行为,并且对正在发生的事情感到有些困惑。我正在运行firefox的本地副本,然后将ssh(ssh -X <url>)放入远程服务器,并在那里启动一个副本以使用本地显示。原来本地的Firefox刚刚打开了一个新窗口。我确认ps x|grep firefox确实在远程服务器上没有启动Firefox进程。 同样的奇怪现象也相反发生:如果我正在运行一个远程firefox,并尝试启动一个本地firefox,则该远程firefox将打开一个新窗口。 我使用的是ubuntu 10.4,几乎是全新安装(我今天下午才刚买到这台计算机)。我试图同时运行两个Firefox,以便可以轻松地列出要安装的插件列表。 这是怎么回事,我该如何避免呢?
22 ssh  remote  firefox 




8
什么是补充Vim的最佳通用编程工具?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 去年关闭。 我使用Vim作为文本编辑器已有一段时间了,我觉得我在做任何事情上都走了很长的路。我使用ctags标记我的代码库以进行导航,并使用grep(尽管效率低下)来查找使用某些方法的位置。但是我觉得有一些我不知道的非常有用的工具可以使我的工作效率更高。 我可以用来补充Vim的通用编程的最佳软件堆栈是什么?您如何浏览代码库,运行make,将更改推送到源代码管理系统等?在Vim旁边是否打开了第二个控制台?

8
如何创建没有密码的用户?
在os X中,有可能没有密码的用户。如果使用dscl密码检查它们,则显示为*。这用于系统用户,例如mysql,pgsql等数据库用户。这样做的好处是这些用户不会出现在登录屏幕上,并且如果没有它们,您将无法登录sudo。 在删除了这样的用户并尝试了一些操作之后,我想重新创建它,但是不能。我可以设法为用户提供一个空密码,并且可以将密码设置为*。但是,当用户出现在我的登录屏幕上时,没有一种效果与上述相同。 您如何创建这样的用户?
22 osx  users  password  login 

11
UNIX中用于减去日期的工具
Solaris UNIX中是否有任何工具(因此没有可用的GNU工具)来减去日期?我知道在Linux中,我们gawk可以从另一个日期中减去一个日期。但是在Solaris中,我们拥有的最大值nawk(已改进awk)无法执行日期计算。我也不能使用perl。 有什么办法可以进行日期计算20100909 - 20001010吗? 更新:bc能够执行日期计算吗?
22 shell  solaris  awk  utilities  date 

5
automake和autoconf是编译代码的标准方法吗?
有时我会从源代码编译应用程序,而我一直在使用: ./configure make sudo make install 但是最近,我遇到了./autogen.sh为我生成配置和制作脚本并执行它们的脚本。 还有哪些其他简化C / C ++ / C#(mono)编译的方法?使看起来有点旧。是否有新工具?有了选择,我应该使用哪一个?

11
有用的`less`函数列表
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 而不是问您最喜欢的,让我们列出来。 里面更有用的命令是less什么? 我个人使用: / (向前搜索) ? (向后搜索) F (启用行为似的tail -f,按Ctrl-C即可退出) v (在$ EDITOR中打开文件进行编辑,默认为vi / vim) 其他?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.