alias 功能固然好用,但在快捷方便的同時,隱藏了原始命令的結節,久而久之,不記得原始命令是什么了,因些,我想到了實作原命令輸出,以作為提示,先看效果圖吧,

/etc/bash.bashrc 檔案追加代碼如下:
### 開始自定義 ###
#環境變數
PROGRAMS=/usr/local
PHP=$PROGRAMS/php7.4
ZOOKEEPER=$PROGRAMS/zookeeper
JAVA_HOME=$PROGRAMS/java8
PATH=$PATH:$JAVA_HOME/bin:$PHP/bin:$ZOOKEEPER/bin
#history 配置
export HISTSIZE=1000; HISTTIMEFORMAT='%F '; HISTCONTROL="ignoredups"
export HISTIGNORE="ls:ll:pwd:history"
#定義編輯器
alias open="code"
alias open-bashrc="command 'code /etc/bash.bashrc' && green '>> [ctrl + win + o]'"
alias close-bashrc="command 'source /etc/bash.bashrc'"
alias open-phpini="open $PHP/lib/php.ini"
alias open-readme="open README.md"
alias tar-download="tar -C ~/Downloads -xvf"
alias tar-programs="sudo tar -C $PROGRAMS -xvf"
alias tar-it="tar -xvf"
#查看
alias port="command 'sudo netstat -nltp | grep'"
alias process="command 'ps -ef | grep'"
#切換目錄
alias cd-soft="cd /mnt/hgfs/soft"
alias cd-develop="cd /mnt/hgfs/develop"
alias cd-programs="cd /usr/local"
alias cd-download="cd ~/Downloads"
#Apache
alias apache-start="sudo apachectl start"
#mysql
alias mysql-stop="sudo service mysqld stop"
alias mysql-start="sudo service mysqld start"
#nginx
alias nginx-start="sudo nginx -s start"
alias nginx-stop="sudo nginx -s stop"
#停止多個相同行程
function kills(){
ps -ef| grep $1 |grep -v grep |awk '{print $2}' | xargs kill -9
}
#批量運行 redis 服務
function redis-start(){
local start=$1
local end=$2
local dir=$3
if [ -z "$dir" ];then
dir=''
fi
while(( $start<=$end ))
do
redis-server $dir$start.conf
let "start++"
done
}
function docker-image(){
local cmd="$1"
local param="$2"
case "$cmd" in
'clean')
command 'docker image rm' '$(docker image ls -f "dangling=true" -q)'
;;
esac
}
function docker-volume(){
local cmd="$1"
local param="$2"
case "$cmd" in
'rm')
if [ -z "$param" ];then
param='$(docker volume ls -q)'
fi
command "docker volume rm" "$param"
;;
'clean')
command "docker volume prune"
;;
esac
}
function docker-container(){
local cmd="$1"
local param="$2"
case "$cmd" in
'stop')
if [ -z "$param" ];then
param='$(docker ps -q)'
fi
command "docker stop" "$param"
;;
'start')
if [ -z "$param" ];then
param='$(docker container ls -aq)'
fi
command "docker container start" "$param"
;;
'ip')
if [ -z "$param" ];then
param='$(docker container ls -aq)'
fi
echo $param
command "docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'" "$param"
;;
'rm')
if [ -z "$param" ];then
param='$(docker container ls -aq)'
fi
command "docker container rm -f" "$param"
;;
'exec')
command "docker container exec -it $param /bin/bash"
;;
esac
}
function red(){ echo -e "\033[31m$1\033[0m";}
function green(){ echo -e "\033[32m$1\033[0m";}
function command(){
local command="$1"
local param="$2"
red ">> $command $param"
eval $command $param
}
#非標準的查看版本寫這里
function version(){
local name="$1"
local version='--version'
case "$name" in
'java' ) version='-version';;
esac
command $name $version
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/110689.html
標籤:Linux
上一篇:Linux 記憶體管理
