Bash
PS1
PS1 是 shell 的提示符,可以通过修改 PS1 来定制 shell 的提示符。
我只需要显示当前目录,当前分支即可。可以使用以下的 PS1:
~/.bashrc
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
export PS1='\[\033[01;32m\][\u@\h\[\033[01;37m\] \W\[\033[01;32m\]]$(parse_git_branch)\$\[\033[00m\] '
运行脚本的几种方式
bash script.sh
或者sh script.sh
,这种方式会新建一个子 shell 来运行脚本,脚本中的变量不会影响当前 shell。source script.sh
或者. script.sh
,这种方式会在当前 shell 中运行脚本,脚本中的变量会影响当前 shell。
当一个脚本需要修改当前 shell 的环境变量时,需要使用第二种方式运行脚本。
同时将脚本输出输出到屏幕和文件
使用 tee
命令可以同时将输出输出到屏幕和文件。
echo "Hello, World" | tee output.txt
如果是 Python 脚本,可以使用以下方式:
python -u script.py | tee output.txt
一定要加上 -u
参数,否则 Python 会使用缓冲输出,导致 tee
无法实时输出。