SHELL/2024/6/26

1.统计家目录下.c文件的个数

#!/bin/bash
count=0
for filename in $(ls ~ *.c)
do 
    ((count++))
done
echo count=$count          

 

 2.终端输入一个.sh文件,判断文件是否具有可执行权限/然后运行脚本,没有可执行权限,添加可执行权运行脚本

#!/bin/bash 
read -p "请输入文件名:" a #在终端输入文件名
if [ -x $a ] #判断是否具有可执行权限
then
    echo 具有可执行权限
    echo `bash $a`
else
    echo 不具有可执行权限
    chmod 777 $a #添加可执行权限           
    echo `bash $a`
fi

 

3.写一个函数,输出当前用户uid,gid并使用变量接受结果 

#!/bin/bash 
function  fun()
{
    a=`id -g`
    b=$(id -u)
    echo gid=$a
    echo uid=$b
}
fun                 

4.终端输入年月,判断该月有多少天,考虑平闰年

#!/bin/bash                                                                   
read -p "请输入年分数:" year
read -p "请输入月份数:" month
if [ $((year%4==0)) -a $((year%100==0)) -o $((year%400==0)) ] #判断是不是闰年
then
    echo 这是闰年
    case $month in #选择月份
        1|3|5|7|8|10|12) 
            echo 31天
            ;;
        2)
            echo 29天
            ;;
        4|6|9|11)
            echo 30天
            ;;
            *)
            echo 输入的月份错误
    esac

else 
    echo 这不是闰年
    case $month in #选择月份
        1|3|5|7|8|10|12) 
            echo 31天
            ;;
        2)  
            echo 28天
            ;;
        4|6|9|11)
            echo 30天
            ;;
            *)
            echo 输入的月份错误
    esac    
fi

5.使用for循环输出九九乘法表

#!/bin/bash
#输出九九乘法表

for ((i=1;i<10;i++))
do
    for ((j=1;j<=i;j++))
    do
      echo -n -e "$i×$j=$((i*j))\t" #输出乘法表 
    done
    echo
done

6.使用for循环,找到家目录下的所有.c文件,如果文件有内容编译该文件,如果文件中没有内容,删除文件

#!/bin/bash

# 切换到家目录
cd ~

# 找到所有的.c文件
for file in *.c; do
    if [ -s "$file" ]; then
        echo "文件 '$file' 有内容,将会编译..."
        gcc "$file" -o "${file%.c}"
    else
        echo "文件 '$file' 无内容,将会删除..."
        rm "$file"
    fi
done

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/748164.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Claude Sonnet3.5注册流程 手机号验证claude注册流程小白教学

Claude Sonnet3.5 1、写在前面2、Claude Sonnet3.5注册流程2.1 准备国外 IP 节点2.2 准备谷歌账号或者邮箱2.3 准备接码平台2.4 邀请码&#xff08;可省$2&#xff09; 1、写在前面 先上图说话&#xff0c;Anthropic 在官方博客中表示&#xff0c;Claude 3.5 Sonnet 提高了智能…

【C++题解】1715. 输出满足条件的整数5

问题&#xff1a;1715. 输出满足条件的整数5 类型&#xff1a;简单循环 题目描述&#xff1a; 有这样一个四位数,其千位和百位之和为偶数&#xff0c;十位和个位之和为奇数&#xff0c;且前两位之和大于后两位之和&#xff0c;且含有因数 8 &#xff0c;请输出满足上述条件的…

《UDS协议从入门到精通》系列——图解0x35:请求上传

《UDS协议从入门到精通》系列——图解0x35&#xff1a;请求上传 一、简介二、数据包格式2.1 服务请求格式2.2 服务响应格式2.2.1 肯定响应2.2.2 否定响应 三、通信示例 Tip&#x1f4cc;&#xff1a;本文描述中但凡涉及到其他UDS服务的&#xff0c;将陆续提供链接跳转方式以便快…

python e怎么表示

exp()方法返回x的指数&#xff0c;ex。 语法 以下是 exp() 方法的语法: import math math.exp( x ) 注意&#xff1a;exp()是不能直接访问的&#xff0c;需要导入 math 模块&#xff0c;通过静态对象调用该方法。 参数 x -- 数值表达式。 返回值 返回x的指数&#xff0c;…

pd虚拟机 Parallels Desktop 19 for Mac 破解版小白安装使用指南

Parallels Desktop 19 for Mac 乃是一款适配于 Mac 的虚拟化软件。它能让您在 Mac 计算机上同时运行多个操作系统。您可借此创建虚拟机&#xff0c;并于其中装设不同的操作系统&#xff0c;如 Windows、Linux 或 macOS。使用 Parallels Desktop 19 mac 版时&#xff0c;您可在 …

山东大学多核并行2024年回忆版

2024.6.13回忆版 矩阵向量乘不可整除代码 集合通信与点对点通信的区别 块划分、循环划分、循环块划分&#xff08;14个向量&#xff0c;4个进程&#xff09; 按行访问还是按列访问快 SISD系统问题 循环依赖问题 问题&#xff1a;为什么不能对这个循环并行化&#xff0…

Unity | Shader基础知识(第十六集:简单的全息扫描效果)

目录 一、前言 二、准备模型 三、 场景准备 四、代码准备 五、透明度设置 六、补充介绍 1.Pass语法介绍 2.ColorMask 七、作者的碎碎念 一、前言 这节课的内容是接着弧形边缘光的效果之后做的。 Unity | Shader基础知识(第十四集&#xff1a;简单效果练习)_unity shade…

Kivy tutorial 005: A drawing app

Kivy tutorial 005: A drawing app – Kivy Blog Central themes: Canvas instructions 中心主题&#xff1a; canvas 结构 The next couple of tutorials will move to a new application in order to showcase some more of Kivy’s core components. In this tutorial we…

windows USB设备驱动开发通用技术

通用串行总线 (USB) 设备通过配置、接口、备用设置和终结点来定义其功能和功能&#xff0c;下面提供这些概念的高级概述。 常见 USB 方案 获取用于通信的设备句柄 &#xff0c;并使用检索到的句柄或对象发送数据传输。 USB 描述符检索 以获取有关设备配置的信息、接口、设置及…

python基础语法 003-3 数据类型元组

1 元组 1.1 元组含义 1.1.1 元组的表示 #元组的表示方法:() names ("xiaoyun", "xiaoming") print(names)--结果------- (xiaoyun, xiaoming) 1.1.2 空元组 #空元组 names () print(type(names)) print(len(names))----------------结果--------- &l…

Profibus DP主站转Modbus模块连接马达保护器案例

一、概述 在工业自动化控制系统中&#xff0c;Profibus DP和Modbus是常见的通信协议&#xff0c;在同一现场还有可能遇到Modbus协议&#xff0c;ModbusTCP协议&#xff0c;Profinet协议&#xff0c;Profibus协议&#xff0c;Profibus DP协议&#xff0c;EtherCAT协议&#xff…

vant组件 顶部下拉刷新和页面底部下拉获取数据+顶部搜索框

1.html部分&#xff08;顶部tab切换无&#xff0c;只有主体list部分&#xff09; <div class"yd" ><!-- yd端 --><!-- 搜索框 --><van-searchv-model"ydsearchvalue"show-actionplaceholder"请输入搜索关键词"search"…

【ARM】Ulink不同的系列对于芯片的支持和可以支持keil软件

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 了解不同版本的ULINK可以支持的芯片架构&#xff0c;和ULINK可以和哪个系列的keil软件进行在线调试 2、 问题场景 用于了解不同ULINK仿真器对于芯片的支持是不一样的&#xff0c;并不是ULINK可以支持所有的keil软件…

qmt量化交易策略小白学习笔记第44期【qmt编程之期货行情数据】

qmt编程之获取期货行情数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 获取行情数据 提示 使用该接口时&#xff0c;需要先订阅实时行情(subscribe_quote)或下载过历史行情(download_hi…

贪心算法——加工木棍(C++)

上大学&#xff0c;一天是一天&#xff0c;两天也是一天。 ——2024年6月27日 之前考试周断更了&#xff0c;今天重新开始&#xff01; 题目描述 有n根木棍&#xff0c;已知每根木棍的长度和重量。这些木棍在木工机器上加工&#xff0c;机器准备加工木棍需要一些时间&#xf…

YOLOv8数据集标注

1 简介 数据集是必不可少的部分&#xff0c;数据集的优劣直接影响训练效果。一般来说&#xff0c;一个完整的数据集应该包括训练集、测试集和验证集。通常&#xff0c;数据集会被划分为训练集和测试集&#xff0c;比如将数据集的70%用作训练集&#xff0c;30%用作测试集。在进行…

深度学习在蛋白质结构预测的新突破:AlphaFold、RoseTTAFold与ESMFold

在蛋白质结构预测和功能预测领域&#xff0c;基于机器学习的方法最近取得了显著的进展。特别是深度学习技术在这个领域中展现出了强大的能力&#xff0c;代表性的技术有 DeepMind 的 AlphaFold 和 RoseTTAFold。这些技术利用了大量的生物数据和先进的神经网络架构&#xff0c;极…

【科学计算与可视化】3. Matplotlib 绘图基础

安装 pip install matplotlib 官方文档 https://matplotlib.org/stable/api/pyplot_summary.html 主要介绍一些图片绘制的简要使用&#xff0c;更加详细和进阶需要可参考 以上官方文档。 1 绘制基础 方法名说明title()设置图表的名称xlabel()设置 x 轴名称ylabel()设置 y 轴…

在vscode 中ssh连接虚拟ubuntu,不能使用code打开文件

这是参考别人的文章&#xff1a;https://blog.csdn.net/weixin_44465434/article/details/130035032找到vscode的版本信息&#xff0c;提交后面是需要的打开home/(用户)/.bashrc&#xff0c;添加环境变量 export PATH"~/.vscode-server/bin/5437499feb04f7a586f677b155b03…

6.22套题

B. Dark 题意&#xff1a;每次能在数列中能使相邻两个数-1&#xff0c;求当数列没有连续非0值的最小贡献 解法:设表示前i个数中前i-1个数是否为0&#xff0c;当前数是j的最小贡献。表示i1以后减掉d的最小贡献。 C. 幸运值 D. 凤凰院真凶