shell

简介:

1.vim .bash_profile

export PATH

export a=1

export PATH=$PATH:/

source .bash_profile#使更新生效

基本运算

++自加  -- 自减 **幂运算 /除法 %余数 +=加等 -=减等

倒计时

2.for;do;done 语句

[root@mail ~]# for NAME in tom jack westos;do echo This is $NAME;done

This is tom

This is jack

This is westos

for循环

[root@mail ~]# for ((i=1;i<=10;i++));do echo $i;done

1

2

3

4

5

6

7

8

9

10

 

1) 10S倒计时

#!/bin/bash

for ((b=10;b>0;b--))

do

echo -ne "After 1M${b}s is GG "

echo -ne "\r    \r"

sleep 1

done

for ((a=60;a>0;a--))

do

echo -ne "After  ${a}s  is GG "#-n 不换行;-e执行

echo -ne "\r    \r"

sleep 1

done

2) 1MIN10S倒计时

#!/bin/bash

MIN=1

for ((SEC=10;SEC>=0;SEC--))

do

echo -ne " After ${MIN}m - ${SEC}s is end "

echo -ne "\r    \r"

sleep 1

while [ "$SEC" -le "0" -a "$MIN"-gt "0" ]

do

echo -ne "After ${MIN}:${SEC}s is end "

echo -ne "\r    \r"

((MIN--))

SEC=60;

done

done

3)ping 机器

 #!/bin/bash

 for NUM in {1..10}

 do

 ping -c1 -w1 172.25.254.$NUM &>/dev/null && echo 172.25.254.$NUM is UP || ec    ho 172.25.254.$NUM is down

 done                         

 

while

le <=

a 并且

gt >=

 

 

#!/bin/bash

for ((a=1;a<=10;a++))

do

ping -c1 -w1 172.25.254.${a} &>/dev/null#c1 ping 1 次 w1 等一秒

        while

        [ "$?" -eq "0" ]

        do

        echo "172.25.254.${a} is up"

        break

        done

        while

        [ "$?" -ne "0" ]

        do

        echo "172.25.254.${a} is down"

        break

        done

done

4).备份数据库

#!/bin/bash

for a in $(mysql -uroot -predhat -e "show databases;"   -NE | grep -E "^\*|schema$" -v )

do

mysqldump -uroot -predhat $a  > /mnt/abc

done

 

 

#!/bin/bash

for ((a=1;a<=10;a++))

do

ping -c1 -w1 172.25.254.${a} &>/dev/null

        while

        [ "$?" -eq "0" ]

        do

        echo "172.25.254.${a} is up"

        break

        done

        while

        [ "$?" -ne "0" ]

        do

        echo "172.25.254.${a} is down"

        break

        done

done

 

[]数字运算比较符 -z 为空 -n 不为空

 -eq 等于-lt小于 -le小于等于 -gt 大于 -ge大于等于

文件状态运算符

-d 设备 -c字符 -e是否可执行 -L软链接 -d目录 -f普通文件

二进制文件运算符

-ef 比较是否互为硬链接

-nt比较两个文件的时间戳哪个更新  或者-ot

逻辑运算符

-o或者

-a并且

!

&&如果成立的话执行

||如果不成立的话执行

5).检查文件属性

#!/bin/bash

if

[ -e "$1" ]

then

[ -f "$!" -a ! -L "$1" ] && echo $1 is a file

[ -b "$1" ] && echo $1 is a block

[ -c "$1" ] && echo $1 is a c-block

[ -n "$1" ] && echo $1 is not exist || echo "Please give me a file "

fi

6).创建用户

#!/bin/bash

if

[ -n "$1" -a -n "$2" ]

then

if

[ -e "$1" -a -e "$2" ]

then

MAXUSER=`wc -l $1 | cut -d " " -f 1`

MAXPASS=`wc -l $2 | cut -d " " -f 1`

if

[ "$MAXUSER" -eq "$MAXPASS" ]

then

for NUM in $( seq 1 $MAXUSER )

do

USERNAME=`sed -n ${NUM}p $1`

PASSWORD=`sed -n ${NUM}p $2`

CKUSER=`getent passwd $USERNAME`

[ -z "$CKUSER" ]&&(

useradd $USERNAME

echo $PASSWORD | passwd --stdin $USERNAME

)||echo "$USERNAME exit !!"

done

else

echo $1 and $2 have different lines

fi

elif

[ ! -e "$1" ]

then

echo "ERROR:$1 is not exsit"

else

echo "ERROR:$2 is not exsit"

fi

else

echo "ERROR: Please input userfile and password-file after command !!"

fi

6.case语句

case $1 in

apple)

echo banana

;;

banana)

echo apple

;;

*)

echo error

esac

7.expect

yum install expect -y

 

#!/usr/bin/expect

set name [ lindex $argv 0 ]

set age [ lindex $argv 1 ]

set class [ lindex $argv 2 ]

set feel [ lindex $argv 3 ]

spawn /mnt/ask.sh

expect "name:"

send "$name\r"

expect "old"

send "$age\r"

expect "class"

send "#class\r"

expect "happy"

send "$fil\r"

expect eof

本文转自   Taxing祥   51CTO博客,原文链接:http://blog.51cto.com/12118369/1883143

相关文章
|
4天前
|
人工智能 运维 安全
|
2天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
9天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
814 109
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
410 9
|
3天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。
|
4天前
|
机器学习/深度学习 传感器 算法
Edge Impulse:面向微型机器学习的MLOps平台——论文解读
Edge Impulse 是一个面向微型机器学习(TinyML)的云端MLOps平台,致力于解决嵌入式与边缘设备上机器学习开发的碎片化与异构性难题。它提供端到端工具链,涵盖数据采集、信号处理、模型训练、优化压缩及部署全流程,支持资源受限设备的高效AI实现。平台集成AutoML、量化压缩与跨硬件编译技术,显著提升开发效率与模型性能,广泛应用于物联网、可穿戴设备与边缘智能场景。
185 127