bash-sensible

An attempt at saner Bash defaults
授权协议 MIT License
开发语言 SHELL
所属分类 应用工具、 终端/远程登录
软件类型 开源软件
地区 不详
投 递 者 况喜
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Sensible Bash

An attempt at saner Bash defaults. Inspired by Tim Pope's sensible.vim.

The config

Sensible Bash is intended to be a simple starting point for a better Bash user experience out of the box.

Refer to the commented source for a complete list of all the options with explanations. Here's a taste:

Smarter tab completion

Readline bindings to improve on Bash's default tab completion:

  • Perform file completion in a case insensitive fashion
  • Treat hyphens and underscores as equivalent
  • Display matches for ambiguous patterns at the first press of the tab key (instead of requiring two tab-presses)

Saner history defaults

Sensible defaults for the command history:

  • Append to the history file instead of overwriting it
  • Save multi-line commands as one command
  • Record each line as it gets issued
  • Keep track of a bigger history
  • Avoid duplicate entries
  • Avoid recording unneeded commands (exit, ls, bg, fg, and history itself)
  • Use a standard ISO 8601 timestamp for recording commands (ex: 2016-04-09 13:06:31)

Read more about the settings used here in the article Better Bash History by Tom Ryder.

Faster file system navigation

Options that considerably speed up the ability to navigate throughout the file system:

  • Prepend cd to directory names automatically, so you can change to a directory just by typing its name
  • Automatically correct spelling errors during tab-completion and in arguments supplied to cd
  • Set more targets to the cd command besides the current working directory (ex: projects, repos, documents, etc)
  • Define paths as variables and cd into it from anywhere, kind of like a bookmarking system for Bash (cdable_vars)

Usage

You can copy sensible.bash in your bashrc, cherry-pick the options you like, or source the file at the top of your bashrc:

if [ -f ~/bin/sensible.bash ]; then
   source ~/bin/sensible.bash
fi

Caveats

In order to get Sensible Bash to work correctly, make sure that:

  • You're running at least Bash 4.x (echo $BASH_VERSION). OS X users: Read this to install and set up Bash correctly.
  • You have the Bash Completion package installed and properly configured on your system. (instructions for OS X)
  • If you're on OS X, I recommend to follow Josh Staiger's advice and source bashrc from bash_profile so to keep all your configuration in one place.

See also

License

MIT

  • 外壳特征 下面的表格列出了我认为将使您选择一个shell而不是另一个shell的大多数特性。它并不打算成为一个明确的列表,也不包括每个可能的shell的所有可能的特性。只有在操作系统附带的版本中,或者在直接从标准发行版编译的情况下,才会认为功能在shell中。特别是下面指定的C shell是在SunOS 4上可用的。*现在有相当多的供应商发布tcsh或他们自己的增强的C shell(他们并不总是明

 相关资料
  • 好了,现在我们换了一个遥控器,感觉顺手多了。现在来操练一下,下载一首 mp3: 我们使用 wget 这个程序,它非常可靠,完全值得您信赖。 首先找到一个可以下载的地址,复制链接,在终端窗口内点击鼠标中键,把它粘贴进去。 现在终端中大概是这种情形: http://linuxtoy.org/xxx.mp3 按下 Ctrl+a 组合键,我们发现光标移动到了行首。输入 wget 和 空格 wget ht

  • 语法 基本语法 名称 语法 描述 示例 interpreter #!/bin/bash Bash shell 脚本的第一行以 #! 开头,通常也称为 sharp-bang 或缩写版本 sha-bang。后面的路径名称是命令解释器,也就是应该用于执行脚本的程序。 echo echo "arbitrary text" echo "arbitrary text" >&2 文本定向到标准输出 (STDOU

  • bash 是一个为GNU项目编写的Unix shell。它的名字是一系列缩写:Bourne-Again SHell — 这是关于Bourne shell(sh)的一个双关语(Bourne again / born again)。Bourne shell是一个早期的重要shell,由Stephen Bourne在1978年前后编写,并同Version 7 Unix一起发布。bash则在1987年由B

  • Bash++ 是一个将 bash 提升到一个新水平的框架,为 bash 引入了新功能。它的设计是为了让人们能够建立更复杂的应用程序,创造更好的产品。 请注意,这个项目是为有 bash 经验的人准备的(不多,只是简单的理解和事情通常如何运作)。 运行示例 (确保你已经安装bash++) cd 进入示例目录。 对你想运行的脚本进行chmod。 chmod +x [SCRIPT.sh] 运行该脚本 ./[SCRIPT].sh

  • Bash-it 是一款针对bash使用进行优化的软件,提供了终端显示的主题优化、命令补全、命令别名、插件、版本控制目录状态实时显示等实用功能,能让bash更好用!正如软件readme说的那样,本款软件是模仿 http://www.oschina.net/p/oh-my-zsh 的,只不过是使用在bash环境中。 安装本软件需要有bash(这个大多数类Unix系统都具备)、git(如果下载zip包也

  • Bash-Snippets 这个项目完全是为重度终端用户而生的,里面包含了大量的 Bash 脚本,而且无需任何依赖。 示例: Crypt 封装了 openssl,可用于快速加密和解密文件 crypt -e [original file] [encrypted file] # encrypts filescrypt -d [encrypted file] [output file] # decryp

  • 黑客对linux发展贡献是非常多的。Bash命令自动完成功能只不过是收集各种黑客指定参数是如何通过Readline使用内置完成来完成的。该功能在其他linux分支是启用的,如ubuntu、debian等等。然而,基于RHCE分支发布的linux版本却没有安装和启用,如CentOS。 如果你使用过ubuntu系统,bash命令自动补齐会觉得非常方便高效。再使用RHCE或CentOS的话,你肯定会吐槽

  • bash-handbook This document is written for those who want to learn Bash without diving in too deeply. Tip: Try learnyoubash — an interactive workshopper based on this handbook! Node Packaged Manuscrip