shell入门

1.简历一个shell文件

#! /bin/sh
echo "Hello World!"

文件保存test.sh

2.运行

方法1:将文件拖到终端

➜  ~ git:(master) ✗ /Users/summer/Desktop/test.sh 
zsh: permission denied: /Users/summer/Desktop/test.sh

没有权限,进入目录,修改权限

chmod 777 test.sh

方法2:输入 ./test.sh

➜  Desktop git:(master) ✗ ./test.sh        
Hello World!

语法

1.变量赋值用=,两边不能有空格

2.输出 echo,使用$,否则直接输出变量名

echo test
echo $test
echo ${test}

输出
➜  Desktop git:(master) ✗ ./test.sh
test
a
a

3.只读变量readonly

4.删除变量unset,删除变量后不能再次使用,不能删除只读变量

5.单引号,双印号

单引号中不能再加单引号,单引号中的变量无效

双印号可以有转义字符,变量有效

#! /bin/sh
string=a
oldString='Hello $string'
oldString_1='Hello ${string}'
newString="Hello $string"
newString_1="Hello ${string}"
echo $oldString
echo $oldString_1
echo $newString
echo $newString_1

➜  Desktop git:(master) ✗ ./test.sh
Hello $string
Hello ${string}
Hello a
Hello a

6.获取字符串长度

test=a
echo ${#test}

1

7.截取字符串

test="abcd"
echo ${test:1:4}

bcd

8.获取字符串位置【从1开始,不是0开始】

string='running'
echo `expr index "$string" r`
1

9.数组

test=(1 aa 3)
echo ${test[@]} //输出数组
echo ${test[1]}  //输出底标为1的元素
echo ${#test[@]} //输出数组长度
echo ${#test[1]} //输出底标为1的元素的长度

➜  Desktop git:(master) ✗ ./test.sh
1 aa 3 //输出数组
aa //输出底标为1的元素
3 //输出数组长度
2 //输出底标为1的元素的长度

10.算数运算符

  • expr 符号两侧为空格 语句反印号

    test=expr 2 + 2
    echo ${test}
    a=expr 2 - 1
    echo $a
    echo expr $test + $a

    ➜ ~ git:(master) ✗ /Users/summer/Desktop/test.sh
    4
    1
    5

  • 代码中的 [] 执行基本的算数运算

    a=$[1+2]

    echo ${a}

    3

11输入命令并显示

read name 
echo "$name It is a test"
ok   //输入
ok It is a test  //输出

参数说明:

-p 输入提示文字

-n 输入字符长度限制(达到6位,自动结束)

-t 输入限时

-s 隐藏输入内容

read -p "请输入一段文字:" -n 6 -s password
echo "\npassword is $password"

➜  Desktop git:(master) ✗ ./test.sh
请输入一段文字:\npassword is 123456

12.与 -a 或 -o 非 !

13.if
if

a=20
b=20
if [ $a -lt $b ]
    then echo a
elif [ $a -gt $b ]
    then
    echo b
elif [ $a == $b ] 
    then
    echo a==b
fi

14.算数运算符

  • expr 符号两侧为空格 语句反印号

    test=expr 2 + 2
    echo ${test}
    a=expr 2 - 1
    echo $a
    echo expr $test + $a

    ➜ ~ git:(master) ✗ /Users/summer/Desktop/test.sh
    4
    1
    5

  • 2.代码中的 [] 执行基本的算数运算,符号两侧不需要空格

    a= [1+2]echo [ 1 + 2 ] e c h o {a}

    3

输入命令并显示

read name 
echo "$name It is a test"
ok   //输入
ok It is a test  //输出

参数说明:

-p 输入提示文字

-n 输入字符长度限制(达到6位,自动结束)

-t 输入限时

-s 隐藏输入内容

read -p "请输入一段文字:" -n 6 -s password
echo "\npassword is $password"

➜  Desktop git:(master) ✗ ./test.sh
请输入一段文字:\npassword is 123456

15.与 -a 或 -o 非 !

16.if

a=20
b=20
if [ $a -lt $b ]
    then echo a
elif [ $a -gt $b ]
    then
    echo b
elif [ $a == $b ] 
    then
    echo a==b
fi

17.for

for (( i = 0; i < 100; i++ ));
do
    echo $i
done


for i in {1..100}; 
do
    echo $i
done


for i in `seq 1 20`  
do  
    echo $i  
done  

18.while:输入用户名和密码

n="name"
p="123asd"

echo "请输入用户名"
read name
while [ "$name" != "$n" ]
do
        echo "用户名错误"    
        echo "请重新输入用户名"
        read name
done

echo "请输入密码"
read -s password
while [ $password != $p ]
do  
         echo "密码错误"
         echo "请重新输入密码"
         read -s password
done
echo success
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值