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 数组名

相关文章
|
15天前
|
监控 Shell Linux
探索Linux操作系统下的Shell编程之魅力
【8月更文挑战第4天】本文旨在通过一系列精心设计的示例和分析,揭示在Linux环境下进行Shell编程的独特之处及其强大功能。我们将从基础语法入手,逐步深入到脚本的编写与执行,最终通过实际代码案例展现Shell编程在日常系统管理和自动化任务中的应用价值。文章不仅适合初学者构建扎实的基础,同时也为有一定经验的开发者提供进阶技巧。
28 11
|
2天前
|
Shell Linux 程序员
详解shell 运行原理及Linux权限
详解shell 运行原理及Linux权限
|
1月前
|
Shell Linux C语言
|
1月前
|
Shell Linux
Linux Shell 脚本入门教程:开启你的自动化之旅
Shell是一种计算机程序,它充当了用户与操作系统之间的接口。在Linux系统中,Shell允许用户通过命令行界面(CLI)来控制计算机。Shell脚本则是一种使用Shell语言编写的脚本,它可以自动执行一系列的命令,帮助用户实现任务自动化,提高工作效率。
|
2月前
|
安全 Shell Linux
探索Linux命令chsh:更改用户的默认shell
`chsh`是Linux命令,用于更改用户的默认登录shell。它涉及用户环境配置和系统安全,允许用户选择更适合自己的shell以提升效率。命令有交互式选项和参数如`-s`来指定新shell。在使用时要注意新shell的可执行性、权限问题及选择合适的shell。例如,要更改为bash,用户可运行`chsh`后按提示操作,而root用户能用`sudo chsh -s /bin/zsh john`为用户`john`设定zsh。在更改前,确认shell路径、权限,并了解不同shell的特点。
|
1月前
|
Java Shell Linux
【Linux】手把手教你做一个简易shell(命令行解释器)
【Linux】手把手教你做一个简易shell(命令行解释器)
25 0
|
2月前
|
监控 Shell Linux
Linux的Shell脚本详解
Linux的Shell脚本详解
|
1月前
|
Shell Linux
Linux环境变量之shell中export定义全局变量和echo 变量的区别
Linux环境变量之shell中export定义全局变量和echo 变量的区别
|
2月前
|
Ubuntu Java Linux
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
75 2
|
2月前
|
Shell Linux
shell linux中shell脚本编写俄罗斯方块
shell linux中shell脚本编写俄罗斯方块
28 1