首页 > 系统相关 >shell 编程 命令

shell 编程 命令

时间:2023-08-18 10:22:14浏览次数:37  
标签:bin do shell seq sum 编程 echo 命令 参数

#!/bin/sh shell编程的头文件
echo “$0” 返回的是这个脚本的部分路径
echo “$1” 返回的第一个参数
echo “$2” 返回的第二个参数
echo “$*” 返回的是全部参数
echo “$#” 返回的是参数的个数
read -p “请输入你的名字:”username
echo $username
read -t 60 -p "请输入数字:" a b -t的意思是60秒 60秒之后我没有给参数。会默认给a和b参数0
echo “a+b=$[ a+b ]" 穿两个参数用空格隔开
echo ‘a+b=$[a+b]’
用单引号返回的就是一个字符串;双引号则会先取值;
echo `date`返回一个日期 `反引号,调用的是系统函数
echo “$1-$2=$[$1-$2]” 运用$1 $2调用我传入的第一个和第二个参数
echo "$a-$b=$((a-b))" (())等价于[]
$? 的意思执行结果是否成功 。0为成功。1是失败
> gt
<lt
>=ge
<=le
==eq
!=ne


或者 elif
#!/bin/bash
read -p "请输入你的成绩:" core
echo "$core"
if [ $core -lt 60 ]; then
echo '洗厕所'
fi
输入成绩。成绩小于60输出洗厕所
#!/bin/sh
read -p "请输入月薪" money
read -p "请输入你的房产" house
echo $money
echo $house
if [ $money -ge 1000000 ]
then
echo "成功"
elif [ $house -ge 20 ]
then
echo "大成功"
else
echo "seeyou"
fi
判断语句的格式是每次if或者elif分支设置完条件后,后面都要加上;then 或者在下一行写then fi表示结束

for i in $@ $@的意思是把传入的参数存进数组的意思
do
echo $i这个数组名叫i 数组的值是我在启动脚本时输入的参数 循环输出这个数组
done


#!/bin/sh
#for i in `seq 10` `seq`意思是调用seq的系统函数 seq的意思是生成一个数到另一个数之间的整数 ,seq 1 1 10 意思为从一开始到十结束 每次自增1 seq 10 就是 起始位置默认为零到十结束
#do
# echo $i
#done
for循环的格式 就是for i in 后面写i的条件 do下面写 执行的操作 done代表循环结束

#!/bin/sh
# i=1 初始化 i =1
#while [ $i -lt 10 ]i<10
#do
#echo $i 循环输出i i从等于1开始
# let i=i+1 i等于1+1 i=2
#done

let 的作用是声明一个变量,通常用来进行运算

i=0 初始化 i =0
while [ $i -lt 10 ]i<10
do
let i=i+1 i = 0+1
if [ $i -eq 5 ] 如果 i=5
then
# continue 跳过i=5这次循环执行下一个 i =6
break i=5时终止循环
fi
echo $i 输出i
done
while 循环的语法结构为
先初始化参数
while [ 使用$调用这个参数,用这个参数来设置一个条件 ]
do 下面写执行的操作
使用let声明这个参数是个变量
执行的操作
done表示结束


#!/bin/sh
function getsum(){ 自定义一个函数 名为getsum
local sum=0 用local设置一个变量sum sum=0 这里用let设置变量也可以 但是local是设置局部变量,通常就在函数中使用。如果用let设置的就是全局变量。别的地方也能使用;
for n in $@ 循环遍历我输入的参数
do
(( sum+=n )) sum等于sum+n n是我输入的参数 循环相加
done
return $sum 返回一个结果
}
getsum 10 20 30 40 使用getsum函数,给他四个参数
echo $? 只能使用$?来获得函数return的结果

标签:bin,do,shell,seq,sum,编程,echo,命令,参数
From: https://www.cnblogs.com/liuxin6de1b/p/17639715.html

相关文章

  • xshell隧道SOCKET代理
    访问数据流本地浏览器->本地代理->linux隧道服务器->真实服务隧道代理chrome安装插件SwitchyOmegahttps://pan.baidu.com/s/1O9gDwDLK906G-i2G3hmSug?pwd=gkkglinkshttps://www.cnblogs.com/lq0710/p/16631218.htmlhttps://www.bbsmax.com/A/QV5ZyqwbJy/https......
  • 【Java技术专题】「入门到精通系列教程」深入探索Java特性中并发编程体系的原理和实战
    并发编程介绍当今软件开发领域越来越强调性能和伸缩性,因此,利用并发编程可以更好地利用计算资源,提高应用程序的性能和响应速度。以下是一些关于并发编程的相关信息供您参考。什么是并发编程并发编程是指在一个程序中同时执行多个独立的计算任务,并通过各种手段来协调不同任务之间的交......
  • linux 文件压缩常用命令
    一、常见文件压缩格式Windows和Linux下的压缩文件格式有一些共同的,也有一些不同的。以下是一些常见的压缩文件格式:.zip:这是Windows中最常用的压缩格式,也是Linux中可以识别的一种压缩格式,可以方便地和Windows系统通用压缩文件。在Linux中,可以使用zip和unzip命令来压缩和解压.zip文......
  • C++ 多线程详解之异步编程 std::packaged_task
    std::packaged_task将任何可调用对象(比如函数、lambda表达式等等)封装成一个task,可以异步执行。执行结果可以使用std::future获取。比如下面的例子,构造一个std::packaged_task后,get_future()函数返回一个std::future对象,可以获取task异步或者同步执行的结果。#includ......
  • 30个shell脚本简单示例
    30个简单且常用的LinuxShell脚本命令及示例,有用~~时代Java 2023-08-1807:40 发表于北京↑ 点击上面 “时代Java”关注我们,关注新技术,学习新知识!shell一直是类Unix系统的本地命令行解释器。它已被证明是Unix的主要功能之一,并发展成为一个全新的主题。Linux提供了各......
  • linux 防火墙命令
    #查看防火墙状态systemctlstatusfirewalld#开启防火墙systemctlstartfirewalld.service#重启防火墙systemctlrestartfirewalld.service#查看firewall防火墙的状态firewall-cmd--state#查看防火墙开放端口规则firewall-cmd--list-port#查看80端口是否开启firewall-cmd--q......
  • 深入探究 Python 中的装饰器与函数式编程范式
    在Python的后端开发中,装饰器是一种强大的技术,而函数式编程范式则能够带来更具表现力和模块化的代码。本文将深入探讨Python中的装饰器和函数式编程,帮助你更好地理解和应用这些技术,提升代码质量和可维护性。装饰器的基本概念装饰器是Python中的一种高级技术,它允许你在不修改原函数代......
  • Python高级技巧之元编程与元类探秘
    在Python的后端开发中,元编程和元类是高级技巧,它们使得你可以在运行时创建、操作和修改代码结构。本文将深入探讨Python中的元编程和元类,揭示它们的奥秘,帮助你更好地理解和运用这些强大的技术。元编程的概念和用途元编程是一种编程范式,它涉及编写能够操作和生成其他代码的代码。元编......
  • Linux Shell下awk,sed,cut的常用方法并在自动化运维脚本中联合运用
    AWK处理工具,它可以用于提取、处理和格式化文本数据。它的主要功能是逐行扫描文件,并根据匹配模式执行操作。AWK具有以下主要特点:读取和处理文本文件中的数据根据匹配模式执行操作逐行扫描文件打印指定的列在自动化运维脚本中,AWK可以用于处理日志文件,例如提取特定行的数据、从日志文......
  • Git ( 目标 + 概述 + 安装与常用命令 + 远程仓库 + IDEA 中使用 )
    Git分布式目录Git分布式1、目标2、概述2.1开发中的实际场景2.2版本控制器的方式2.3Git2.4Git工作流程图3、Git安装与常用命令3.1Git环境配置3.1.1下载与安装3.1.2基本配置3.1.3为常用指令配置别名3.2获取本地仓库3.3基础操作指令3.3.1创建、查看状态、提交、查看提......