目前是:
michael@Castle2012-Ubuntu-laptop01:~/Dropnot/webs/rails_v3/linker/spec/controllers$
Run Code Online (Sandbox Code Playgroud)
除了重命名我的机器和目录结构......
我怎样才能让它更像:
michael:controllers$
Run Code Online (Sandbox Code Playgroud) 我想知道为什么我(base)
在终端提示的左侧。
如果我source ~/.profile
在终端中运行,它就会消失。
如果我关闭该终端并重新打开一个新终端,(base)
是否又出现了。
我想知道它是什么。
这是我的内容.profile
(不包括标准的 $path 东西和其他个性化的东西):
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
Run Code Online (Sandbox Code Playgroud)
这是我的 .bashrc 的内容
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options …
Run Code Online (Sandbox Code Playgroud) 我已经搜索过,但没有找到任何关于此的内容。我正在使用终端在 bash 中寻找功能。
回到过去,我有一个用户在 debian 系统上,一个朋友为我设置了一个方便的历史搜索功能(我相信我当时使用了 tcsh),我将在其中输入上一个命令的开头,点击向上箭头,它会根据部分字符串进行搜索。
例如,如果我的历史是:
./script.pl
./script.pl arg1
cat output
cat output | grep yada
Run Code Online (Sandbox Code Playgroud)
然后我输入.
,然后按向上箭头,它会显示我:./script.pl arg1
。再按一次,它会显示./script.pl
,等等。
非常像它会grep
在 .bash_history 上执行。有没有办法获得这个功能?
在 git 存储库中工作时,我正在使用本指南在 gnome 终端(Ubuntu 15.10)中显示分支名称。基于以上内容,我现在在 ~/.bashrc 文件中有以下内容:
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
Run Code Online (Sandbox Code Playgroud)
...
# Add git branch if its present to PS1
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
if [ "$color_prompt" = yes …
Run Code Online (Sandbox Code Playgroud) (学习 bash)我试图检查 bash 版本,所以我输入了/bin/bash -v
.
这会向屏幕输出大量文本(.bashrc 的内容以及源自它的其他文件)。
由于该命令,我是否可以搞砸一些事情(例如覆盖一些配置文件/设置不正确的环境变量等)?
我也找不到有关-v
开关用途的文档。
当我使用 (e)grep 在文件中搜索选项卡时,我使用了文字选项卡 ( ^v + <tab>
)。我不能\t
用作正则表达式中选项卡的替代品。使用例如 sed 这个表达式非常有效。
那么是否有可能使用非文字替代品<tab>
以及非工作/未解释的背景是什么\t
?
我编写了以下脚本来在需要时设置一些环境变量。
#!/bin/sh
export BASE=/home/develop/trees
echo $BASE
export PATH=$PATH:$BASE
echo $PATH
Run Code Online (Sandbox Code Playgroud)
在我可以在终端上看到的命令和结果下方:脚本运行,但变量未在最后设置。
~$: ./script.sh
/home/develop/trees
/bin:......:/home/develop/trees
~$: echo $BASE
~$:
Run Code Online (Sandbox Code Playgroud)
怎么了?提前致谢。米尔科
假设我想在不打开编辑器的情况下将一行添加到文件中。
我怎么能附加这一行
alias list='ls -cl --group-directories-first'
Run Code Online (Sandbox Code Playgroud)
到这个文件
config.fish
Run Code Online (Sandbox Code Playgroud) 我正在将我的主目录从旧系统迁移到新系统,我制作的 tarball 包含所有内容,包括像 .bashrc 这样的隐藏文件。但是,当我将解压缩的 tarball(位于 /tmp 中)的内容移动到我的新主目录时,隐藏文件不会复制 ( mv /tmp/home/rcook/* /home/rcook/
)。我怎样才能让 mv 移动它们?
实际上,我认为问题不在于 mv,而在于 bash 的 globbing。如果我这样做:
mkdir a
mkdir b
touch a/.foo
touch a/bar
mv a/* b/
ls -a a/ b/
Run Code Online (Sandbox Code Playgroud)
我看到这个:
a/:
. .. .foo
b/:
. .. bar
Run Code Online (Sandbox Code Playgroud)
a/.foo
没动。那么如何获取 * 通配符来查找隐藏文件呢?
是的,我想我可以直接解压缩包到我的主目录,但将压缩包解压缩到home/rcook/...
了,我要确保我覆盖新.bashrc
等与旧,定制版本,并知道如何查找和移动隐藏文件是一项有价值的技能。建议?
一些答案建议做类似的事情mv src/.* dest/
。但是,我在我的测试目录上尝试了这个并出现了错误。从...开始:
rcook$ ls -a a/ b/
a/:
. .. bar .foo
b/:
. ..
rcook$ mv a/.* b/
mv: cannot move 'a/.' to …
Run Code Online (Sandbox Code Playgroud) 如何在每个时间间隔重复一个命令,以便它允许我运行命令以进行检查 或监视 目录的?
不需要脚本,我只需要在终端中执行一个简单的命令。
bash ×10
command-line ×8
bashrc ×3
prompt ×2
scripts ×2
anaconda ×1
git ×1
grep ×1
history ×1
monitoring ×1
ps1 ×1
redirect ×1
regex ×1
text-editor ×1