Articles of unix

当我input'cd〜'时什么目录是'〜'?

我只是使用SSH的新手,但是当我login时,我最终在目录〜,这通常是同一个目录,当FTP进来。我仍然可以去/,但我不知道什么〜的意思。 家? 与/有关,或者我怎么知道?

在bash中后缀别名

后缀别名是我考虑切换到ZSH的唯一原因,但我想坚持bash。 那么是否有可能在bash中有后缀别名? 对于那些不知道后缀别名是什么的,下面在ZSH中 $ alias -s cpp=vi $ filename.cpp 将以filename.cpp作为第一个参数运行vi 。 请注意,诸如xdg-open或gnome-open是不够的。 当input文件名时,我希望bash执行命令。 完成对我来说非常重要。 因此,如果文件名的开头是键入的,那么如果在按下TAB键时文件的其余部分将被完成,那将是很好的。

如何将邮箱拆分为单个文件?

我想通过bash命令将我的收件箱分成不同的文件(每个消息一个文件),或者可能是Java中的简单程序。 我该怎么做? WBR,Thanx。

从程序员的angular度来看Linux内核和UNIX内核(如FreeBSD)之间的区别

从程序员的angular度来看Linux内核和UNIX内核(如FreeBSD)之间的区别。 我搜查了几篇关于这个的文章。 他们也从公司经理的angular度比较了用户的观点和pipe理者的观点。 任何人都可以从程序员的angular度来看文章或说些什么吗? 我的意思是程序员,无论是用户程序员还是内核级程序员? 任何暗示或启示真的很感激。 希望这不是一个老生常谈的问题。 :P

replace为gettext

我们在我们的产品中使用gettext进行翻译,但遇到了很多问题: 除非系统支持,否则不能使用语言。 在Solaris 9 Sparc上,如果我们将环境重置为各种英语语言环境,则如果计算机没有相应的语言环境,则消息仍然不会被翻译。 翻译文件存在,但我们无法访问它。 使用环境来制定语言 这在想要将消息翻译成不同语言的服务器中引起问题。 理论上讲,这可能是一个完全线程安全的并行操作 – 但gettext意味着我们必须对翻译进行全局locking。 无法设置默认语言 通过这个我不是代码中的文字。 我们在代码中使用MsgID,所以如果当前环境定义的语言不可用,我想要的是能够指定要回退的翻译。 但是gettext不允许这样做 – 我必须尝试,然后重新设置环境,然后再遵循不同的翻译。 (使用MsgIDs不是我的select – 我想遵循gettext标准,并使用英文作为ID,但是我被否决了,现在要做很多工作来改变它) 对UTF-8和当前本地编码进行编码的返回值是不一样的。 我不是说.po文件 – 它们全都是UTF-8(烦人的是msgfmt不处理物料清单,但无论如何)。 我的意思是在AIX和HPUX上使用UTF-8(不pipe本地/terminal编码)的gettext ngettext等的输出,还是在Solaris / Linux / FreeBSD上进行本地编码,尽pipe这可能是由iconv问题导致的。 在任何情况下,这将是很好的不必为不同的平台有特殊的代码 – 我将不得不调查,如果我可以得到bind_textdomain_codeset(domain,codepage); 帮助解决这个问题。 有谁知道提供更有用的界面的开源翻译库吗?

在solaris获取昨天的date

我正在运行SunOS。 bash-3.00$ uname -a SunOS lvsaishdc3in0001 5.10 Generic_142901-02 i86pc i386 i86pc 我需要从命令提示符传递正确的格式Yesterday's date in linuxfindYesterday's date in linux 。 当我在我的shell提示符下尝试这样的时候, bash-3.00$ date –date='yesterday' '+%Y%m%d' date: illegal option — date=yesterday usage: date [-u] mmddHHMM[[cc]yy][.SS] date [-u] [+format] date -a [-]sss[.fff] 我总是得到dateillegal option ,为什么呢? 我正在做什么错事? 更新: – bash-3.00$ date –version date: illegal option — version usage: date […]

Bash脚本 – 通过“variables”variables名遍历关联数组列表

我有一个关联数组的variables列表,我想迭代并检索他们的键/值对。 我遍历通过一个单一的关联数组列出所有的关键和获取值,即。 for key in "${!queue1[@]}" do echo "key : $key" echo "value : ${queue1[$key]}" done 棘手的部分是关联数组的名称是variablesvariables,例如给定count = 5,关联数组将被命名为queue1,queue2,queue3,queue4,queue5。 我试图根据计数来replace上面的序列,但到目前为止,括号和eval的每个组合都没有产生太多的错误替代错误。 例如下面: for count in {1,2,3,4,5} do for key in "${!queue${count}[@]}" do echo "key : $key" echo "value : ${queue${count}[$key]}" done done 帮助将非常感激!

从Linux中的分隔文件中删除一列

我有以下格式的文件: col1|col2|col3|col4 a|b|c|d e|f||h i|j|k|l 我想从头文件和数据中删除col3(用分隔符“|”)。 这可以使用awk / sed来完成吗? 请注意,col3中的数据可能为空(第2行)。 输出应该是: col1|col2|col4 a|b|d e|f|h i|j|l

在shell脚本中与expr相乘

我正在做一个基本的计算器来加,减,乘,除。 加法工作,但不是乘法。 当我尝试乘法时,我得到“你没有正确运行程序”的回应: $ ./calculator 4 + 5 9 $ ./calculator 4 * 5 You did not run the program correctly Example: calculator 4 + 5 我search了谷歌,我find了\\*代码,但仍然无法正常工作。 有人可以提供一个解决scheme或解释吗? 这是我的代码 #!/bin/bash if [ $# != 3 ]; then echo You did not run the program correctly echo Example: calculator 4 + 5 exit 1 fi if […]

跟踪它时,xclip不会终止

我提出以下意见: $ xclip text.txt 执行立即终止,它将text.txt的内容复制到默认selectXA_PRIMARY ,这意味着您可以通过鼠标中键或xclip -o粘贴它。 当我想看看xclip在做什么时,它不会终止: $ xclip -verbose text.txt Connected to X server. Using UTF8_STRING. Reading text.txt… Waiting for selection requests, Control-C to quit Waiting for selection request number 1 它不会终止,直到我在我的X11系统中select了一些东西,例如我在这里粘贴的输出。 我会理解这一点,如果行为是有限的verbose 。 毕竟你想坐下来看看会发生什么。 我可以用strace重现相同的行为,但只有在提供了fork选项的情况下 $ strace -f xclip text.txt 或者从Ruby中用一个应该返回输出的系统执行命令(实际上什么都不是)从shell中退出。 $ ruby -e "`xclip text.txt`" strace给出的提示是轮询文件描述符以等待事件。 如果我select了一些东西,这个事件是满足 这种行为是可以解释的吗? 我有证据certificate,这在任何系统上都不可重现。 这可能与票#9相关的标准input设置剪贴板时不closures标准输出 ? […]