14号c高级作业

1.修改环境变量

1.1 查看环境变量

终端输入  env

1.2 修改环境变量---> 只对当前终端有效

1.3 修改环境变量----> 在当前用户有效(常用)

当前用户的环境变量修改路径: ~/.bashrc

打开~/.bashrc文件 在最后一行写入 export PATH=$PATH:/home/ubuntu/23111C高级/day2/

保存退出

使源文件生效 source ~/.bashrc 或者重启

1.4 修改环境变量----> 对所有用户有效

换将变量的路径 /etc/bash.bashrc

1.5 修改环境变量---> 对所有用户有效 (重点)

修改环境变量路径: /etc/environment

打开sudo vi /etc/environment文件

在最后添加上  :/home/ubuntu/23111C高级/day2/"

2.shell中的变量

2.1 shell定义变量

1.shell中变量没有数据类型,所有的值默认是字符串

2.shell中的变量默认是全局变量

var   在shell中认为这是一个指令 ls

var= 定义变量var,值是空

var=hello 定义变量var,值是hello

2.2 shell定义变量以及初始化

1.等号的两端不可以存在空格,指令才可以有空格

变量=初始化值

变量='初始化的值' 变量="初始化的值"

var  =  hello 错误

2.如果初始化的值中有空格

var=hello world 错误

var='hello world' 正确

var="hello world" 正确

3.初始化的值使用变量

a=hello b=$a

把a的值赋值给b变量

b1=$a world         错误,初始化的值存在空格

b2=$aworld          认为aworld是一个变量

b2=${a}world        使用{}认为a是一个变量 ---> helloworld

b3=world$a          展开结果:worldhello

c='$a world'          结果 $a world

d="$a world"         展开结果 hello world

2.3引用shell中的变量

var=hello 

echo $var

echo ${var}

 2.4位置变量(重点)

位置变量:接收终端输入的字符串,类似C语言argc argv

位置变量多用于函数传参

$0 文件名

$1 终端输入的第1个字符串

$2 终端输入的第2个字符串

....

$9 终端输入的第9个字符串

2.5预定义变量(重点)

shell中自带的变量

$* 除文件名外的所有终端输入的字符串[$1,$n]

$# 除文件名外的所有终端输入的字符串的个数

$@ 除文件名外的所有终端输入的字符串[$1,$n]

$? 多用于函数返回,获取上一个指令的结果 0上一个指令正常结束,非0上一个指令非正常结束 $$ 获取当前的进程号

2.6命令置换(重点)

把指令的输出结果赋值给变量

格式1:变量=`指令`

格式2:变量=$(指令)

c=`ls *.sh`

echo $c

2.7shell中特殊符号

3.输入&输出

3.1 echo

echo输出变量

var=hello

echo $var world     输出hello world

echo '$var world'    输出$var world

echo "$var world"   输出hello world

3.2 read

4.字符串

4.1 计算字符串长度

格式: ${#变量}

var="hello world"

len=${#var}

echo len=$len

4.2字符串连接

变量1=$变量1$变量2        不允许有空格

变量1="$变量1   $变量2"     存在空格需要使用""

4.3截取子串

正序截取

#变量=${变量:m}                 从左到右,从下标0开始,截取下标m到最后 
#变量=${变量:m:n}              从左到右,从下标0开始,截取下标m到n

倒序截取

变量=${变量:0-m}      从右到左,最后一个字符按1开始,截取倒数第m个后面的所有字符串

变量=${变量:0-m:n}   从右到左,最后一个字符按1开始,截取倒数第m个后面的长度为n的字符串

使用# ## % %%截取

${变量#*string}            从左到右,截取第一个string右边的所有字符串

${变量##*string}          从左到右,截取最后个string右边的所有字符串

${变量%string*}           从右到左,截取第一个string左边的所有字符串

${变量%%string*}        从右到左,截取最后一个string左边的所有字符串

5.shell中的数组

1.shell中只有一维数组,没有多维数组

2.数组的每个元素是字符串

5.1 shell中数组的定义及初始化

5.2 数组的引用

arr=(11 22 33)

1.${arr[index]}            ${arr[0]} 输出11

2.${arr[*]}                   引用数组的所有元素

3.${arr[@]}                 引用数组的所有元素

4.${#arr[index]}          计算数组中index元素的字符串长度

5. ${#arr[@]}              数组的个数 6. ${#arr[*]} --->数组的个数

6.shell的运算符

6.1 shell的算数运算符

(()) -->算数、关系、逻辑、条件等 运算符

$[] -->算数、关系、逻辑、条件等 运算符

let -->算数、关系、逻辑、条件等 指令

expr -->指令算数,关系,逻辑,字符串

6.2 (())   (重点)

可以进行很多运算

格式: ((表达式1,表达式2,表达式3....)) 注意:第一个表达式最最终的结果

引用格式:

格式1:((变量=表达式1,表达式2,表达式3....))

格式2:变量=$((表达式1,表达式2,表达式3....))

6.3 expr(重点)

对字符串操作 

题2

题3

题4

  • 25
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值