server-alias-install:快速为 Linux 系统配置自定义 alias 引用,并添加响应历史命令搜索的箭头上下键的inputrc配置
2021/11/30 7:08:23
本文主要是介绍server-alias-install:快速为 Linux 系统配置自定义 alias 引用,并添加响应历史命令搜索的箭头上下键的inputrc配置,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
作用:一键通过SSH为远程主机添加alias别名引用,免去手动编辑添加 ~/.bash_profile
和 ~/.bashrc
的麻烦;通用的需要频繁使用的alias可以预先在本地模板文件/v/bin/server_alias
内进行定义。
另:自动修改~/.inputrc
配置,可以自动响应上下箭头搜索历史命令,比如 输入 wget
按向上箭头,终端窗口就会从历史命令中检索出上一条匹配wget的命令wget https://www.baidu.com -O /dev/null
#!/bin/bash SCRIPTPATH=$(realpath $0) #SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" #SCRIPTPATH=$(dirname $(readlink -f "$0")) display_usage() { echo -e "$SCRIPTPATH\n" echo -e "\t快速为 Linux 系统配置自定义 alias 引用." echo -e "\tserver-alias模板位置:/v/bin/server_alias " echo -e "\nUsage:\n\tserver-alias-install [hostname]" echo -e "Example:\n\tserver-alias-install racknerd" } # if less than two arguments supplied, display usage if [ $# -lt 1 ] then display_usage exit 1 fi # check whether user had supplied -h or --help . If yes display usage if [[ ( $* == "--help") || $* == "-h" ]] then display_usage exit 0 fi shFile=/tmp/server-alias.$$ trap "rm -f $shFile" 0 cat > $shFile <<EOF #!/bin/bash SCRIPTPATH=\$(realpath \$0) trap "rm -f \$SCRIPTPATH" 0 grep -E "(\$HOME|~)/.server_alias" ~/.bashrc >/dev/null 2>&1 if [ \$? -ne 0 ]; then echo "source ~/.server_alias">>~/.bashrc fi EOF chmod a+x $shFile #cat $shFile #exit 0 ssh $1 'uname -a' scp /v/bin/server_alias $1:~/.server_alias #拷贝本地inputrc到远程服务器,以实现上下箭头搜索补全历史命令。Ctrl+左右箭头按单词为单位移动光标 scp /v/bin/server_inputrc $1:~/.inputrc scp ~/.curlrc $1:~/.curlrc scp $shFile $1:$shFile ssh $1 'bash '$shFile echo -e "Done..."
依赖的代码:
/v/bin/server_alias:
alias ll='ls -l --show-control-chars --color' alias lt='ls -t --show-control-chars --color' alias catuuid='cat /proc/sys/kernel/random/uuid' alias novim='vim -u /dev/null' alias wanip='curl -sS http://v.ynit.top/ipfull/' alias installsz='yum --help &>/dev/null&&yum install -y lrzsz||apt-get install -y lrzsz' alias installrz=installsz alias installwget='yum --help &>/dev/null&&yum install -y wget||apt-get install -y wget' alias installcurl='yum --help &>/dev/null&&yum install -y curl||apt-get install -y curl' alias installrsync='yum --help &>/dev/null&&yum install -y rsync||apt-get install -y rsync'
/v/bin/server_alias:
# To the extent possible under law, the author(s) have dedicated all # copyright and related and neighboring rights to this software to the # public domain worldwide. This software is distributed without any warranty. # You should have received a copy of the CC0 Public Domain Dedication along # with this software. # If not, see <http://creativecommons.org/publicdomain/zero/1.0/>. # base-files version 4.2-3 # ~/.inputrc: readline initialization file. # The latest version as installed by the Cygwin Setup program can # always be found at /etc/defaults/etc/skel/.inputrc # Modifying /etc/skel/.inputrc directly will prevent # setup from updating it. # The copy in your home directory (~/.inputrc) is yours, please # feel free to customise it to create a shell # environment to your liking. If you feel a change # would be benifitial to all, please feel free to send # a patch to the cygwin mailing list. # the following line is actually # equivalent to "\C-?": delete-char "\e[3~": delete-char # VT "\e[1~": beginning-of-line "\e[4~": end-of-line # kvt "\e[H": beginning-of-line "\e[F": end-of-line # rxvt and konsole (i.e. the KDE-app...) "\e[7~": beginning-of-line "\e[8~": end-of-line # VT220 "\eOH": beginning-of-line "\eOF": end-of-line # Allow 8-bit input/output set meta-flag on set convert-meta off set input-meta on set output-meta on # 忽略大小写 set completion-ignore-case on #$if Bash # Don't ring bell on completion #set bell-style none # or, don't beep at me - show me #set bell-style visible # Filename completion/expansion #set completion-ignore-case on #set show-all-if-ambiguous on # Expand homedir name #set expand-tilde on # Append "/" to all dirnames #set mark-directories on #set mark-symlinked-directories on # Match all files #set match-hidden-files on # 'Magic Space' # Insert a space character then performs # a history expansion in the line #Space: magic-space #$endif #shell 自动根据前缀查找补全历史命令 #http://blog.phpdr.net/shell-%e8%87%aa%e5%8a%a8%e6%a0%b9%e6%8d%ae%e5%89%8d%e7%bc%80%e6%9f%a5%e6%89%be%e5%8e%86%e8%a1%a5%e5%85%a8%e5%8f%b2%e5%91%bd%e4%bb%a4.html "\e[A": history-search-backward "\e[B": history-search-forward "\e[1~": beginning-of-line "\e[4~": end-of-line #以下配置左右箭头的动作。是以字符为单位跳转还是一单词为单位跳转 "\e[C": forward-char "\e[D": backward-char #"\e[C": forward-word #"\e[D": backward-word # mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving # https://superuser.com/questions/488157/how-do-i-make-ctrl-arrow-keys-move-forward-backward-a-word-at-a-time-in-cygwin-b "\e[1;5C": forward-word "\e[1;5D": backward-word "\e[5C": forward-word "\e[5D": backward-word "\e\e[C": forward-word "\e\e[D": backward-word
这篇关于server-alias-install:快速为 Linux 系统配置自定义 alias 引用,并添加响应历史命令搜索的箭头上下键的inputrc配置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南