C高级-day(4)-(shell数组、shell中的算数、shell中的分支语句.)

news2025/1/8 3:47:35

 

一、编写一个名为myfirstshell.sh的脚本,它包括以下内容。

1、包含一段注释,列出您的姓名、脚本的名称和编写这个脚本的目的

2、和当前用户说“hello 用户名”

3、显示您的机器名 hostname

4、显示上一级目录中的所有文件的列表

5、显示变量PATH和HOME的值

6、显示磁盘使用情况

7、用id命令打印出您的组ID id -g

8、跟用户说“Good bye”

#! /bin/bash

# name:ZR job1.sh 使用命令置换符

echo "和当前用户说“hello 用户名"    
echo "hello " `whoami`

echo "显示您的机器名  hostname"
echo `hostname`

echo "显示上一级目录中的所有文件的列表"
echo `ls ..`

echo "显示变量PATH和HOME的值"
echo `$PATH`
echo `$HOME`

echo "显示磁盘使用情况"
echo `df -h`

echo "用id命令打印出您的组ID   id -g"
echo `id -g`

echo "跟用户说Good bye"
echo "Good bye" `whoaim`

二、编写脚本~/sumfile.sh,统计/etc,/var,/usr目录中共有多少个一级子目录和文件

#! /bin/bash

#/etc下的一级目录和文件的总数
etc=(`ls /etc`)
#echo ${etc[*]}
echo /etc下的一级目录和文件的总数: ${#etc[*]}

#/var下的一级目录和文件的总数
var=(`ls /var`)
#echo ${var[*]}
echo /var下的一级目录和文件的总数: ${#var[*]}

#/usr下的一级目录和文件的总数
usr=(`ls /usr`)
#echo ${usr[*]}
echo /usr下的一级目录和文件的总数: ${#usr[*]}

三、写一个shell脚本,获取当前用户名,用户id和工作路径

#! /bin/bash

#写一个shell脚本,获取当前用户名,用户id和工作路径
echo 当前用户名为:`whoami`
echo 当前用ID为:`id | cut -d " " -f "1"`
echo 工作路径:`$HOME`

四、统计/etc目录下以P或p开头的文件个数

#! /bin/bash

#统计/etc目录下以P或p开头的文件个数
var=(`ls /etc | grep -i "^p"`)
echo /etc目录下以P或p开头的文件个数总和:${#var[*]}

五、输入一个文件名,判断文件是否为普通文件

#! /bin/bash

#输入一个文件名,判断文件是否为普通文件
var=(`ls -lh $*`)
num=`expr index ${var} '-'`
#echo $num

if [ $num -eq 0 ]
then
    echo ${var[8]} 是普通文件
else 
    echo ${var[8]} 不是普通文件
fi

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C/C++中程序数据的分类与内存分布,C++内存管理方式之new / delete 操作符与malloc / free的区别

TIPS const修饰数据类型并不会影响它在内存当中某个区域的存储位置,比方说原先是在栈区上面的,然后用const修饰了一下,并不就是说你现在已经变到静态区里面去了,你还是在栈上面指针与指针之间的等号赋值也需要考虑到权限的放大与…

利用Python程序生成字符画 让男大学生们洗脑的挖呀挖呀挖

源码地址 原教程在这里 演示效果:(有点虚) 利用Python程序生成字符画 让男大学生们洗脑的挖呀挖呀挖 使用教程(源码在文章最后) 打开pyhton编译器安装opencv和Pillow库把要进行字符串化的视频命名为input.mp4&#…

nginx: 配置https证书,wss证书

作用:SSL证书卸载 1、制作证书 openssl genrsa -des3 -out server.key 2048 openssl req -new -key server.key -out server.csr openssl rsa -in server.key -out server.key openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt …

windows 通过bat一键Android手机截图

首先资源需要5积分链接如下: https://download.csdn.net/download/weixin_38287114/87774870?spm1001.2014.3001.5501 使用范围: 有一台电脑是window系统,电脑安装配置了adb 有一台手机,打开了usb调试 你想截图的软件没有usb…

ArrayList 和 LinkedList 之间应该怎么选择?

Joshua Bloch:我写了 LinkedList,但我自己都不用! 对,Joshua Bloch 就是 LinkedList 的作者! 如果你真信了作者的话,那就真的大错特错了,LinkedList 虽然用的没有 ArrayList 多,但使…

高性能存储SIG月度动态:EROFS支持直接索引容器镜像tar包,io_uring将支持并优化NVMe直通

高性能存储 SIG(Special Interest Group)目标:存储领域的发展历程,本质上是存储介质与软件栈相互促进发展的过程。高性能存储 SIG 致力于存储栈性能挖掘,当前主要聚焦内核 io_uring 技术优化异步 IO 性能,使…

bugku——变量1

拿到题目后是一串PHP代码,给到提示是flag在变量中,接下来进行代码审计 error_reporting(0):关闭错误报告 include “flag1.php”:包含flag1.php文件 highlight_file(_file_):页面进行语法高亮显示 isset($_GET[‘args’])&#xf…

AI模型推理(4)—— 认识ServingRuntime

参考: Serving Runtimes - KServe Documentation Website 模型推理服务化:如何基于Triton开发自己的推理引擎? - 知乎 GitHub - openai/triton: Development repository for the Triton language and compiler 前言 ServingRuntime&#…

Qt quick基础3(基础动画,包含旋转动画、串行并行动画及其嵌套)

Qt quick基础3(基础动画) 目录 Qt quick基础3(基础动画)前言前期准备工作Animation on property 元素加载后自动运行动画Behavior on property 当元素值改变后运行动画Standalone Animation 单独动画旋转动画分组动画串行动画并行…

干货 | 科研决策怎么做?四个步骤一招解决!

Hello,大家好! 这里是壹脑云科研圈,我是喵君姐姐~ 又是给大家带来满满干货的一天,今天要给大家介绍的是狐少侠对于科学决策的四个步骤的详细解读! 最近,有读者问了我几个关于决策的问题:要不要…

ubuntu22.04 编译安装 Kate 编辑器

ubuntu22.04 编译安装 Kate 编辑器 文章目录 ubuntu22.04 编译安装 Kate 编辑器0x0 目的0x1 在 Ubuntu 22.04 编译安装 Kate0x11 Download dependencies0x12 Build kate and kwrite0x13 Setup paths for binary and shared libraries0x14 Misc trials 0x2 配置 Kate渲染空白字符…

R语言 | 数据分析与处理

目录 一、随机抽样 1.1 将随机抽样应用于扑克牌 1.2 种子值 ​1.3 模拟骰子 1.4 比重的设置 二、再谈向量数据的抽取——以islands为实例 三、数据框数据的抽取——重复值的处理 ​3.1 重复值的搜索 3.2 which()函数 3.3 抽取数据是去除重复值 四、数据框数据的抽取…

Linux命令·scp

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时&#xff0c…

【深度学习】第一门课 神经网络和深度学习 Week 2 神经网络基础

2.1 二元分类 前言 第二周的主题是学习神经网络的基础知识。 实现神经网络需要用到一些重要的技术和技巧,比如怎样处理包含大量样本的训练集。 在神经网络的计算中,还会有前向暂停、前向传播、反向暂停和反向传播等步骤,本周会对它们进行…

面试一个6年经验测试员:一年经验硬生生用了六年....

在众多面试中,对于那个工作了6年的面试者,我印象很深刻,因为最开始拿到简历的时候,我一摸:"这简历,好厚啊!"再一看,工作6年。 于是我去找了我的领导,我说:“这人我应该没…

C++入门基础知识总结(超详细)

目录 C入门基础知识之什么是C? C入门基础知识看看C的历史版本: C入门基础知识关键字 C入门基础之C的命名空间 C入门基础命名空间的使用 C入门基础知识的输入和输出 C入门基础知识-缺省参数 C入门基础-C函数重载 extern “C” C入门基础知识-引用 C入门基…

图像处理:图像增广算法

目录 前言 图像增广算法 a.图像旋转 b.图像亮度调整 c.图像裁剪及拼接 实验分析 本章小结 前言 图像增广算法在计算机视觉领域扮演着至关重要的角色。随着深度学习的兴起,大规模数据集的需求变得更加迫切,而图像增广算法可以通过对原始图像进行一…

手把手教你安装PaddleDetection(最新CUDA11.7版本)

前言 本文记录一下在linux系安装PaddleDetection的过程,使用Conda的方式来安装; (尝试过docker的方式,无法获取镜像;尝试过pip的方式,提升找不到库;最终使用Conda成功安装了。) 目…

什么是中国版软件能力成熟度之CSMM

当前,中国软件产业蓬勃发展,产业增速迅猛,发展韧性和潜力进一步凸显。由于我国长期缺乏相关的自主标准,20多年来国外标准在我国软件评估领域占据主导地位,不仅阻碍了我国自主产业发展,甚至通过评估等手段可…

【STM32CubeMX项目】小时钟V1.0

前言 基于STM32CubeMxSTM32F103C6T6编写时钟功能。现在以及能实现时钟的简单功能,做文记录下。还有很多可以改进的地方,也算留下的基础版本下来备份吧。我愿称之为V1.0版本。可供学习参考。 实物 引脚接线: OLED STM32F103 SCL --> PB8 SD…