1. 程式人生 > >vim補充及多條件判斷

vim補充及多條件判斷

信息 null 所有 刪除 path not ech bash success

一、vim分屏顯示文件(編輯模式下)

    ctrl+w然後按s 水平分屏
    ctrl+w然後按v垂直分屏
    ctrl+w按方向鍵切換屏幕
    :qa退出所有窗口

二、vim編輯多個文件

    vim file1 file2  默認顯示第一個文件,在末行模式下使用:next,:prev進行下一個上一個切換
    也可以加參數 -o 或 -O ,如 vim file1 file2 可以將文件左右或上下顯示,使用ctrl+w再按方向鍵切換屏幕

    文件另存為:在末行模式下,使用 :w /path/newfile 將文件另存為/path下的newfile。

三、vim的一些常用配置(在末行模式下)

    顯示行號 :set number , 取消行號 :set nonumber
    自動縮進 :set ai
    註意這些配置只是臨時生效,要想永久生效需要寫入配置文件,對當前用戶生效,可以寫入 ~/.vimrc,全局生效可以寫入 /etc/virc 或/etc/vimrc

四、組合條件判斷

    -a 或 &&:與條件
    -o 或 ||:或條件
    -not  或 !:非條件
    如 [  $A  -a  $B   ] 表示$A和$B同時為真,才為真

例題:編寫腳本 addusers.sh 當添加選項和參數 --add user1,user2...的時候的時候添加這些用戶,當添加選項和參數--del user1,user2...刪除這些用戶,輸入q、Q、quit的時候退出腳本,--help查看幫助信息。

    #!bin/bash
OPT=$1
USERS=$2

if [[ $# -lt 1 || $OPT == ‘q‘ || $OPT == ‘Q‘ || $OPT == ‘quit‘ ]];then
    echo "exit.."
    exit 2
fi

if [[ $OPT == ‘--add‘  ]];then
    for u in `echo $USERS | sed ‘s/,/ /g‘` #將傳入的USER1,USER2..去掉逗號轉為列表
    do
        if  id $u &> /dev/null ;then
            echo "$u is exist."
        else
            useradd $u
            echo "$u add success."
        fi
    done
elif [[ $OPT == ‘--del‘  ]];then
    for u in `echo $USERS | sed ‘s/,/ /g‘ `  #將傳入的USER1,USER2...去掉逗號轉為列表
    do
        if ! id $u &> /dev/null ;then
            echo "$u is not exist."
        else
            userdel -r $u
            echo "$u del success."
        fi
    done
elif [[ $OPT == ‘--help‘  ]];then
    echo "usg: addusers --add/--del  user1,user2..."
    exit 0
else
    echo "請輸入--help查看幫助。"
fi

vim補充及多條件判斷