美文网首页
Vim基本语法,函数

Vim基本语法,函数

作者: 潇洒人生_cca2 | 来源:发表于2020-04-05 10:29 被阅读0次

● 模式切换
插入模式
1)i 进入插入模式,光标前
2)a 进入插入模式,光标后
3)I 行首
4)A 行末

命令模式:ESC
末行模式:shift + ;
1)w 存盘
2)wq 存盘退出
3)q! 不存盘退出

删除行:dd
翻页:ctrl + f(上一页) ctrl + b(下一页)
复制行:yy
粘贴:p
撤销上一步的操作:u
恢复上一步被撤销的操作:Ctrl+r

● 文本搜索
?pattern Enter
n 朝同一方向搜索
N 朝相反方向搜索

输入,输出,重定向

#!/bin/bash
NDK=10
text="i love shell"

#命令的执行结果的输出作为变量的值
text1=`date`
text2=$(who)

echo $NDK
echo $text
echo "$text very much"
echo "\$NDK"
echo $text1
echo $text2

#输出重定向
ls -al > test2

#输入重定向
wc < test3


a=10
b=20
#expr命令
c=$(expr $b / $a)
#方括号
d=$[$a * 2]
#bc 浮点数计算
#| 管道,一个命令的输出作为另外一个命令的输入
#scale是自带的内建变量(保留四位)
e=$(echo "scale=4; $a / 3" | bc)#前面的输出作为bc的输入
#内联输入重定向,a*b/3
f=$(bc << EOF
scale=4
a1 = ($a * $b)
a1 / 3
EOF
)
echo "c:$c"
echo "d:$d"
echo "e:$e"
echo "f:$f"

var1=20
var2=3.1333
var3=$(echo "scale=4; $var1 * $var2" | bc)
echo result is $var3

#退出状态码
exit 5

#!/bin/bash

##标准输入输出
#0 STDIN 
#1 STDOUT 标准输出
#2 STDERR 标准错误

#永久重定向,文件相同的话会覆盖
exec 1>test7
exec 2>test8

#自定义输出
exec 7>test9

echo "cc zz" >&7
echo "cc yy"

ls -a ./ff

命令执行退出的状态:

echo $? 查看退出状态码
0 成功
127 没有找到命令
1 未知错误
126 命令不可执行

#!/bin/bash
echo "my shell exit"
exit 5

if

只有if命令的退出状态码为0,才会执行then部分
if 命令
then
命令
else
命令
fi

#!/bin/bash
testuser=lady
#grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来
#grep搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。
if grep $testuser /etc/passwd 
then
    echo "ok"
    ls -a /home/$testuser/
#   
elif ls -d /home/$testuser
then
    echo "用户不存在,主目录仍然存在"
#   
else
    ##嵌套if
    #if 
    #then
    echo "$testuser not exist"


#test命令,如果条件成立,test命令已状态为0退出,if条件成立
if test $var
then
    echo "test条件成立"
else
    echo "test条件不成立"
fi  
#

test数值比较
-gt
-eq 等于
-le
-ne 不等于

#!/bin/bash
a=10
b=5
#test命令简单形式
if [ $a -gt $b ]#一定要加上左右的空格
then
    echo "$a greater than $b"
else
    echo "$a smaller than $b"
fi

test字符串比较
str1 == str2
str1 != str2
str1 < str2
-n str1 长度是否非0
-z str1 长度是否为0

#!/bin/bash
str1=""
if [ str1 = "" ]                                                            
then
    echo "有内容"
else
    echo "没内容"
fi

文件比较
-d 检查是否存在,并且是一个目录
-e 检查file是否存在
-f 检查是否存在,并且是一个文件
-r 检查是否存在,并且可读 -w、-x
file1 -nt file2 file1比file2新
file1 -ot file2 file1比file2旧

#!/bin/bash
mydir=/usr/jason
#-d检查目录是否存在
if [ -d $mydir ]
then
    echo "$mydir exist"
    cd $mydir
    ls
else
    echo "mydir not exist"
fi
#!/bin/bash
#多个条件 []
mydir=/usr/jason/shell
#if (( a++ > 90 ))#任意数学赋值或者比较表达式
if [ -d $HOME ] && [ -w $mydir ]
then
    cd $mydir
    touch test5
else
    echo "no"
fi  

case

case 变量 in
pattern1) 命令;;
pattern2) 命令;;
*) 默认命令;;
esac

#!/bin/bash
testuser=rose

case $testuser in
rose)
    echo "hi,$testuser";;
ricky)
    echo "hello, ricky";;
*)
    echo "defaults";;
esac

for

for var in list
do
命令
done

#!/bin/bash
list="Mother\'s Father Brother"
list2="windows--linux--macos"
#IFS字段分隔符
IFS=$--
for item in $list2
do
    echo $item
done

while命令

while test command
do
命令
done

#!/bin/bash
a=10
while [ $a -gt 0 ]
do
    echo "num:$a"
    #赋值不用使用$符号
    a=$[ $a - 1 ]
    if [ $a -eq 5 ]
    then
        echo "break"
        break
    fi  
done

函数

函数传参

#!/bin/bash
filename=$(basename $0)
#内建变量
echo "参数的总数:$#"
echo filename
echo $1
echo $2
echo $3

#使用$@遍历所有参数
#getopt
echo "遍历"
for param in "$@"
do
    echo "param:$param"
done
#!/bin/bash

#函数的传参,返回值
function myfun
{
    echo $[ $1 + $2 ]
}

value=$(myfun 10 90)
echo "value:$value"
#!/bin/bash
#引入./17.sh
#source ./17.sh
#.source快捷别名
. ./17.sh
function myfun()
{
    echo $value
}
value=20
myfun
echo "add value:$(add 10 30)"

相关文章

  • Vim基本语法,函数

    ● 模式切换插入模式1)i 进入插入模式,光标前2)a 进入插入模式,光标后3)I 行首4)A 行末 命令模式:E...

  • Oracle的nvl函数和nvl2函数

    一、基本语法 介绍一下oracle的nvl函数和nvl2函数。 nvl函数nvl函数基本语法为nvl(E1,E2)...

  • Excel中的IF函数

    什么是IF函数? 如何用IF函数? AND函数和OR函数 一、IF函数的基本语法 IF(logical_test,...

  • JavaScript 高级程序设计学习笔记4——函数

    基本概念 函数基本语法: eg: 函数调用:functionName(arg0, arg1,...,argN); ...

  • MySQL语法入门(一)

    MySQL语法入门(一) 基本运算符使用 基本数学函数使用 基本字符串函数使用 基本日期时间函数使用

  • 6. 数据更新操作 4.3

    4.1、函数的基本使用 如果要修改数据最直接的使用函数就是update()函数,但是这个函数的语法要求很麻烦.语法...

  • Vue基础语法(值相关)

    Mustache语法 基本用法演练: Mustache语法总结:1.基本模式 {{变量或函数}},注意:Musta...

  • 003|JavaScript ES6新特性之生成函数

    生成函数(generator function)是一种新型函数,是一个分段执行函数。它的语法与函数语法基本一致,但...

  • 箭头函数

    二、箭头函数与普通函数的区别 1、语法更加简洁、清晰 从上面的基本语法示例中可以看出,箭头函数的定义要比普通函数定...

  • axure 函数大全

    Axure函数的基本语法 在axure交互设计时,函数可以用在条件公式和需要赋值的地方,其基本语法是用双方括号包含...

网友评论

      本文标题:Vim基本语法,函数

      本文链接:https://www.haomeiwen.com/subject/iudadctx.html