Linux C/C++ 开发(学习笔记二):Shell脚本编程案例

简介: Linux C/C++ 开发(学习笔记二):Shell脚本编程案例

一、编写shell脚本

创建并编写脚本

vim first.sh

#!/bin/bash是指此脚本使用/bin/bash来解释执行。

echo表示输出

下面是定义 变量的方式(等号两边不能有空格),并输出变量

#!/bin/bash
echo "Hello World"
zerovoice="www.0voice.com"
echo $zerovoice 

由于现在first.sh还不是可执行文件

因此添加执行的权限

chmod +x first.sh

执行

./first.sh

二、打印文件夹下所有文件

#i/bin/bash
for file in $(ls /home/xuheding/share/); do
        echo ${file}
done

三、将数字从1到100求和

#i/bin/bash
sum=0;
for i in {1..100};do
        let sum+=i
done
echo $sum

四、检测服务器内主机是否宕机

错误输出全部重定向到/dev/null中,也就是将产生的所有信息丢弃

$?表示 上一条命令是否运行正确

ping -c 2 -i 0.3 192.168.125.$i

-c 表示 ping次数

-i 表示ping的时间间隔

#!/bin/bash
for i in {1..254};do
  ping -c 2 -i 0.3 192.168.125.$i &> /dev/null
  if [ $? -eq 0 ];then
    echo "192.168.125.$i is up" 
  else 
    echo "192.168.125.$i is down"
  fi
done


相关文章
|
安全 算法 Ubuntu
Linux(openssl)环境:编程控制让证书自签的技巧。
总结:在Linux环境中,OpenSSL是一个非常实用的工具,可以帮助我们轻松地生成自签名证书。通过上述三个简单步骤,即可为内部网络、测试环境或开发环境创建自签名证书。但在公共访问场景下,建议购买经过权威认证机构签发的证书,以避免安全警告。
756 13
|
存储 缓存 C++
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
C++ 标准模板库(STL)提供了一组功能强大的容器类,用于存储和操作数据集合。不同的容器具有独特的特性和应用场景,因此选择合适的容器对于程序的性能和代码的可读性至关重要。对于刚接触 C++ 的开发者来说,了解这些容器的基础知识以及它们的特点是迈向高效编程的重要一步。本文将详细介绍 C++ 常用的容器,包括序列容器(`std::vector`、`std::array`、`std::list`、`std::deque`)、关联容器(`std::set`、`std::map`)和无序容器(`std::unordered_set`、`std::unordered_map`),全面解析它们的特点、用法
1062 1
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
|
Linux
Linux编程: 在业务线程中注册和处理Linux信号
通过本文,您可以了解如何在业务线程中注册和处理Linux信号。正确处理信号可以提高程序的健壮性和稳定性。希望这些内容能帮助您更好地理解和应用Linux信号处理机制。
346 26
|
JavaScript Ubuntu Linux
如何在阿里云的linux上搭建Node.js编程环境?
本指南介绍如何在阿里云Linux服务器(Ubuntu/CentOS)上搭建Node.js环境,包含两种安装方式:包管理器快速安装和NVM多版本管理。同时覆盖全局npm工具配置、应用部署示例(如Express服务)、PM2持久化运行、阿里云安全组设置及外部访问验证等步骤,助你完成开发与生产环境的搭建。
|
Linux
Linux编程: 在业务线程中注册和处理Linux信号
本文详细介绍了如何在Linux中通过在业务线程中注册和处理信号。我们讨论了信号的基本概念,并通过完整的代码示例展示了在业务线程中注册和处理信号的方法。通过正确地使用信号处理机制,可以提高程序的健壮性和响应能力。希望本文能帮助您更好地理解和应用Linux信号处理,提高开发效率和代码质量。
362 17
|
存储 机器学习/深度学习 编译器
【C++终极篇】C++11:编程新纪元的神秘力量揭秘
【C++终极篇】C++11:编程新纪元的神秘力量揭秘
|
存储 算法 C++
深入浅出 C++ STL:解锁高效编程的秘密武器
C++ 标准模板库(STL)是现代 C++ 的核心部分之一,为开发者提供了丰富的预定义数据结构和算法,极大地提升了编程效率和代码的可读性。理解和掌握 STL 对于 C++ 开发者来说至关重要。以下是对 STL 的详细介绍,涵盖其基础知识、发展历史、核心组件、重要性和学习方法。
|
存储 安全 算法
深入理解C++模板编程:从基础到进阶
在C++编程中,模板是实现泛型编程的关键工具。模板使得代码能够适用于不同的数据类型,极大地提升了代码复用性、灵活性和可维护性。本文将深入探讨模板编程的基础知识,包括函数模板和类模板的定义、使用、以及它们的实例化和匹配规则。
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
337 0
|
运维 Shell Linux
Linux 之大数据定制篇-Shell 编程
Linux 之大数据定制篇-Shell 编程
469 0