alias 功能固然好用,但在快捷方便的同時,隱藏了原始命令的結節。久而久之,不記得原始命令是什麼了,因些,我想到了實現原命令輸出,以作為提示。先看效果圖吧。 /etc/bash.bashrc 文件追加代碼如下: ### 開始自定義 ### #環境變數 PROGRAMS=/usr/local PHP ...
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 }