shell工具使用配置备忘

一、bash之vi mode两种方式:set -o vi(只让bash自己进入vi模式)或 set editing-mode vi(让所有使用readline库函数的程序在读取命令行时都进入vi模式)。然后:在vi mode下,要替换ESCAPE(从插入状态变回普通状态,也就是移动状态),并不是读.vim,而是要修改.inputrc:

set keymap vi-insert
"C-f": vi-movement-mode

二、写一个sh脚本,想把命令行参数原封不动传给要调用的另一脚本,就用$@表示参数,最好用引号括起来:"$@"

三、bash里给git命令添加自动补全。.profile里添加:

source /opt/local/etc/bash_completion
source /opt/local/share/git-core/git-prompt.sh

会发现完全没感觉,因为bash版本太旧拉!mac自带的是3.2,以上脚本要在4.0以上才有用。用macport安装的新bash放在/opt/local/bin/bash里,最好是修改login shell指向它。但是mac又已经不用/etc/passwd方件,直接用chsh去修改居然又提示不是标准shell不让改,真是抓狂啊,最后在设置面板用户和组里,按住ctrl右键点用户名,弹出菜单里点高级选项,里面终于可以设置了。

四、tmux使用。

创建会话:tmux [-S 共享用的socket路径] new-session -s 会话名

查看会话:tmux [-S 共享用的socket路径] ls 

加入会话:tmux [-S 共享用的socket路径] attach [-dr] -t 会话名 // -d用来把其它人踢出会话,-r设定自己只能看不能改

大S指定共享socket,小s指定该socket下的会话,连到同一会话的tmux client会得到完全相同的屏幕输入输出。都不指定的话就使用默认值了。另附配置表:./.tmux

set -g prefix C-a  #设置PREFIX为Ctrl-a
bind r source-file ~/.tmux.conf ; display "Reloaded!"  #将r键设置为加载配置文件,并显示"reloaded!"信息

bind h select-pane -L  #像vim里一样切换面板
bind j select-pane -D 
bind k select-pane -U 
bind l select-pane -R
bind - split-window    #横竖分割面板,-和|,比较形象
bind | split-window -h
bind-key -r Up resize-pane -U    #调整面板大小,上下左右,好记
bind-key -r Down resize-pane -D
bind-key -r Left resize-pane -L
bind-key -r Right resize-pane -R

unbind C-b    #解除Ctrl-b与PREFIX的对应关系
unbind Space    
unbind C-o    #这两个快捷键都是自作聪明改面板布局的,会把我们辛苦调好的布局弄乱,取消之
setw -g mode-keys vi  #copy-mode将快捷键设置为vi模式

#以下从网上拷的
set -g default-terminal "screen-256color"
set -g status-utf8 on
set -g pane-border-fg green
set -g pane-border-bg black
set -g pane-active-border-fg white
set -g pane-active-border-bg yellow
set -g message-fg white
set -g message-bg black
set -g message-attr bright
set -g status-fg white
set -g status-bg black
setw -g window-status-fg cyan
setw -g window-status-bg default
setw -g window-status-attr dim
setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr bright

set -g status-left-length 40
set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P"
set -g status-right "#[fg=cyan]%d %b %R"
set -g status-interval 60
set -g status-justify centre

setw -g monitor-activity on  #开启window事件提示
set -g visual-activity on
set-window-option -g mode-keys vi
setw -g mode-mouse on

五、将用户添加到其它组:

usermod -aG git(组) wellbye(用户)。

一般都是为了共享文件,比如普通用户想直接以local方式访问git用户下的仓库,就把该用户也添到git组里去好了。另外,为了加sudo权限,也可以加到sudo组里而避免改sudoers文件。

六、运行一个“真正”的后台程序,使之能在退出登录后仍继续运行

nohup “真正的程序命令行” &

七、修改bash命令提示符以显示当前路径

export PS1="[w]"

更多变量可以在man bash手册里查到

 

原文地址:https://www.cnblogs.com/wellbye/p/3252052.html