linux基础 - SHELL1(上)

简介: linux基础 - SHELL1

一、基础

1.test测试语句

echo $?为0代表上个语句执行成功

echo $?为1代表上个语句执行失败

test 1 = 1
echo $?
test 1 = 2
echo $?

2.逻辑运算

&& 与

[ 1 = 1 ] && [ 2 = 2 ] 
[ 1 = 2 ] && [ 2 = 2 ]

|| 或

[ 1 = 1 ] || [ 2 = 2 ] 
echo $?
[ 1 = 2 ] || [ 2 = 2 ] 
echo $?

3.类型判断

判断输入的是否是个文件

如果1.txt存在就查看

[ -f 1.txt ] && cat 1.txt

如果o目录存在就进入并输出里面存在的文件

[ -d o ] && cd o && ls -l

判断输入内容是否可以执行

[root@localhost o]# [ -x 1.txt ] && echo "can excute"
[root@localhost o]# chmod 777 1.txt
[root@localhost o]# [ -x 1.txt ] && echo "can excute"

4.数值判断

[ 2 -eq 1 ]
echo $?
[ 2 -eq 2 ]
echo $?
[ 2 -lt 2 ]
echo $?
[ 2 -gt 2 ]
echo $?
[ 2 -ne 1 ]
echo $?

5.字符串比较

[root@localhost o]# str2="asdqewqr"
[root@localhost o]# str1="asdsad"
[root@localhost o]# [ str1 == str2 ]
[root@localhost o]# echo $?
[root@localhost o]# [ str1 != str2 ]
[root@localhost o]# echo $?

6.计算表达式

[root@localhost o]# echo $((1+3))
[root@localhost o]# echo $((1+3))
[root@localhost o]# a=$((1+3))
[root@localhost o]# echo a
[root@localhost o]# echo $a
[root@localhost o]# echo $((a*3))
[root@localhost o]# echo let a
[root@localhost o]# echo let a*2
[root@localhost o]# let a = a*2
[root@localhost o]# let a=a*2
[root@localhost o]# echo $a


二、shell数组

1.单行定义

[root@localhost o]# arr=(1 2 3 4 5 6) 
[root@localhost o]# echo $arr

2.多行定义

[root@localhost o]# arr2=( 
> 1 
> 2 
> 3 
> 4 
> 5 
> 6 
> 7 
> ) 
[root@localhost o]# echo arr2

3.单元素定义

arr2[2]=10
arr2[3]=10
arr2[4]=10

4.查看元素

[root@localhost o]# echo ${arr2[2]}
[root@localhost o]# echo ${arr2[3]}
[root@localhost o]# echo ${arr2[4]}
[root@localhost o]# echo ${arr1[4]}
[root@localhost o]# echo ${arr1[1]} 
[root@localhost o]# echo ${arr[1]}

5.基于内容找索引

当不知道内容是什么的时候,可以查看所有下标

[root@localhost o]# echo ${!arr[*]}
[root@localhost o]# echo ${!arr[@]}
[root@localhost o]# echo ${!arr2[@]}

不加!可以看内容

6.增删改

获取元素

root@ou-virtual-machine:~# arr=(10000 200000 30000 40000 500000 600000) 
root@ou-virtual-machine:~# echo ${arr[0]:0:2}
root@ou-virtual-machine:~# echo ${arr[3]:0:2}
root@ou-virtual-machine:~# echo ${arr[3]:0:4}

更改元素

root@ou-virtual-machine:~# echo ${arr[3]}
root@ou-virtual-machine:~# arr[3]=900000
root@ou-virtual-machine:~# echo ${arr[3]}

root@ou-virtual-machine:~# echo ${arr[3]}
root@ou-virtual-machine:~# arr[3]=900000
root@ou-virtual-machine:~# echo ${arr[3]}

删除数组

unset删除单个数组元素

root@ou-virtual-machine:~# echo ${arr[*]}
root@ou-virtual-machine:~# unset arr[1]
root@ou-virtual-machine:~# echo ${arr[*]}

删除整个数组

unset 数组名

相关文章
|
29天前
|
Linux Shell 开发工具
Shell的运行原理以及Linux当中的权限问题
Shell的运行原理以及Linux当中的权限问题
35 0
|
1月前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
1月前
|
安全 Linux Shell
Linux SSH(Secure Shell)服务
Linux SSH提供安全网络协议,使用公钥加密技术确保远程服务传输安全。OpenSSH是实现SSH服务的免费开源工具,允许用户加密连接远程登录Linux服务器执行任务。SSH比Telnet更安全,防止数据被截获。SSH还支持端口转发和隧道,广泛应用于系统管理和网络维护,是安全远程访问服务器的重要工具。
26 1
|
1月前
|
Shell Linux
|
1月前
|
Shell Linux UED
|
1月前
|
运维 Java Shell
Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
32 0
|
20小时前
|
网络协议 Shell Linux
LabVIEW 在NI Linux实时设备上访问Shell
LabVIEW 在NI Linux实时设备上访问Shell
|
2天前
|
Shell Linux
【Linux】进程实践项目(更新中) — 自主shell编写
前几篇文章,我们学习进程的相关知识:进程概念,进程替换,进程控制。熟悉了进程到底是个什么事情,接下来我们来做一个实践,来运用我们所学的相关知识。这个项目就是手搓一个shell模块,模拟实现Xshell中的命令行输入。
7 1
|
2天前
|
Shell Linux 信息无障碍
5 个有用的 Linux Shell 转义序列
5 个有用的 Linux Shell 转义序列
|
4天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
20 5