我已将我的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
。为什么会发生这种情况,如何在没有副作用的情况下实现所需的提示?
创建具有给定文件常用词的文件列表的最佳方法是什么。例如,如果我有:
$ 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" *
命令中。我对任何方法都持开放态度,尽管这可能会更好。
我已经设置了一个密钥对,如果我使用-i <privateKey>
开关,它们就可以正常工作。我应该把私钥放在哪里,这样我就可以ssh my.remote.host
不用输入就可以了-i
?
我试着把它~/.ssh
放在我的本地机器上,但我仍然被提示输入密码。
我正在尝试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 subversion
which 安装1.7.5
并且工作正常。我的问题是,为什么1.7.5
我的机器上工作,如果我没有sqlite
,apr
现在我是从源头上需要的所有,似乎其他的依赖关系?没有1.7.5
这样的依赖项,或者它们是在我的apt-get
命令期间安装的,我只需要链接到它们?