小编sta*_*z77的帖子

为什么这个 PS1 值会导致意外行为?

可能重复:
为什么浏览历史记录时我的 bash 提示会被窃听?

我已将我的PS1变量设置.bashrc为以下内容:

PS1='\e[35m[\W]:\e[0m '

它实现了预期目标(更改显示cwd在内部[]和之前的提示的颜色:),但是当我搜索我的命令历史记录时,有时我循环遍历的部分命令会附加到提示上。例如:

[~]: echo "something"
something
[~]: date
Sun Nov 18 17:07:54 PST 2012
[~]: sudo apt-get install vim
...
Run Code Online (Sandbox Code Playgroud)

现在,说我想回到我的echo "something"命令,我按下并得到

[~]: sudo apt-get install vim
Run Code Online (Sandbox Code Playgroud)

我再次按下,这发生了

[~]: sudo apt-date
Run Code Online (Sandbox Code Playgroud)

再起来

[~]: sudo apt-echo "something"
Run Code Online (Sandbox Code Playgroud)

如果我按退格键删除命令行上的所有内容,它会一直删除

[~]: sudo apt-
Run Code Online (Sandbox Code Playgroud)

它对命令没有影响。例如,该行[~]: sudo apt-date仍将打印等的输出date。为什么会发生这种情况,如何在没有副作用的情况下实现所需的提示?

bash prompt command-history

16
推荐指数
1
解决办法
2182
查看次数

查找具有共同词的文件

创建具有给定文件常用词的文件列表的最佳方法是什么。例如,如果我有:

$ ls
  mainFile  file1  file2  file file4
$ cat mainFile
  exquisite malicious sentient pulsating
  perspicacious one
  tawdry fumigate Baryshnikov O'connor
Run Code Online (Sandbox Code Playgroud)

我想列出cwd中包含mainFile. 解决这个问题的最佳方法是什么?

由于每行的字数mainFile不是恒定的,我在寻找解决方案时cut有点棘手。我试图从单词中创建一个字符串,然后将它们|放在grep -l "exquisite|malicious|etc" *命令中。我对任何方法都持开放态度,尽管这可能会更好。

shell shell-script text-processing

4
推荐指数
1
解决办法
1874
查看次数

我应该把私人 ssh 密钥放在哪里?

我已经设置了一个密钥对,如果我使用-i <privateKey>开关,它们就可以正常工作。我应该把私钥放在哪里,这样我就可以ssh my.remote.host不用输入就可以了-i

我试着把它~/.ssh放在我的本地机器上,但我仍然被提示输入密码。

ssh

4
推荐指数
2
解决办法
1万
查看次数

如果没有在目标系统上安装所有依赖项,包如何运行?

我正在尝试subversion在 ubuntu 12.10 上构建最新版本,但在完成时遇到了一些麻烦,./configure因为我似乎收到了永无止境的configure: error: x not found消息流。我安装apr并提供了apr-1-config文件的路径以摆脱第一个,然后我安装sqlite等,目前我正在处理configure: error: Expat not found.

在尝试安装 之前1.7.7,我刚刚使用了apt-get install subversionwhich 安装1.7.5并且工作正常。我的问题是,为什么1.7.5我的机器上工作,如果我没有sqliteapr现在我是从源头上需要的所有,似乎其他的依赖关系?没有1.7.5这样的依赖项,或者它们是在我的apt-get命令期间安装的,我只需要链接到它们?

subversion software-installation

2
推荐指数
1
解决办法
215
查看次数