小编nun*_*axe的帖子

如何在终端中禁用换行?

我需要使用 bash shell 查看大型日志文件。我是less用来打开文件的,但是由于行太长,所以正在进行某种换行/自动换行。

由于文件是Log4J日志,而且每一行的开头都有一个模式,换行后很难分析输出,所以我开始使用less -Swhich 砍长行。

但是现在我需要使用tail -f,并且它还会对输出进行换行。是否可以在 bash shell 中为所有命令禁用换行?

注意:有一个提到转义序列的不同问题的答案echo -ne '\e[?7l',但它似乎不适用于 bash。

terminal

65
推荐指数
6
解决办法
10万
查看次数

替换系统二进制文件时的最佳做法是什么?

我在 Mac OS X 上工作,它附带了几个主要位于/usr/bin/和 的二进制文件/usr/sbin/。由于它没有像某些 Linux 发行版那样的本地包管理器,我习惯于管理自己的二进制文件,在/usr/local/<package_name>/.

通过这种方式,我能够以手动更新文件中的PATHMANPATH变量为代价从我的系统中完全删除一个包.bashrc

这是一个简单的例子:

Mac OS X 附带 ant 1.7.0,位于/usr/bin. 我需要使用最新版本,所以我从 Apache 下载它,然后将它解压缩(构建)到/usr/local/apache-ant-1.8.2. 然后我更新我的.bashrc文件:

# Mac OS X original PATH
PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
# Apache Ant 1.8.2
PATH="$PATH:/usr/local/apache-ant-1.8.2/bin"
export PATH
Run Code Online (Sandbox Code Playgroud)

我确保导出/usr/bin//usr/sbin/之前,ant/bin/因为除了ant我不想覆盖的之外,通常还有其他二进制文件。

问题是,当我输入时,which ant我得到/usr/bin/. 因此,我将其重命名为/usr/bin/antto/usr/bin/ant-old以使用最新版本。

虽然这有效,但我想知道是否有更好的方法来替换系统二进制文件(主要是为了避免最后一次重命名)。

osx path directory-structure package-management

6
推荐指数
1
解决办法
3624
查看次数