0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

小编科普一下19个Shell脚本

网络技术干货圈 来源:网络技术干货圈 2023-02-06 09:41 次阅读

1.判断/tmp/run目录是否存在,如果不存在就建立,如果存在就删除目录里所有文件

#!/bin/bash
dir=/tmp/run
[-f$dir]&&mv$dir$dir.bak
[-d$dir]&&rm-rf$dir/*||mkdir$dir

2.输入一个文件的绝对路径,判断路径是否存在,而且输出是文件还是目录,如果是字符连接,还得输出是有效的连接还是无效的连接

#!/bin/bash
read-p"Inputapath:"path
if[-L$path-a-e$path];then
echo"thisiseffectivelink"
elif[-L$path-a!-e$path];then
echo"thisisnoteffectivelink"
elif[-d$path];then
echo"thisisadirector"
elif[-f$path];then
echo"thisisfile"
elif[-e$path];then
echo"thisisaothertypefile"
else
echo"thefileisnotexist"
fi

3.交互模式要求输入一个ip,然后脚本判断这个IP 对应的主机是否 能ping 通,输出结果类似于:

Server10.1.1.20isDown!最后要求把结果邮件到本地管理员root@localhost和mail01@localhost

方法一:

#!/bin/bash
read-p"输入IP地址:"ip
ping-c2$ip>/dev/null2>&1
if[$?-eq0];then
echo"Server$ipisOK."|mail-s'checkserver'root@localhost
else
echo"Server$ipisDown!"|mail-s'checkserver'root@localhost
fi

方法二:

#!/bin/bash
read-p"Inputyourip:"ip
ping-c1$ip&>/dev/null
[$?-eq0]&&echo"server$ipisok"|mail-s"checkserver"root@localhost||echo"server$ipisdown"|mail-s"checkserver"root@localhost

方法三:

#!/bin/bash
tmpfile=`mktemp`
mailaddr="root@localhostmail@localhost"
read-p"输入IP地址:"ip
ping-c2$ip>/dev/null2>&1
if[$?-eq0];then
echo"Server$ipisUp!">>$tmpfile
else
echo"Server$ipisDown!">>$tmpfile
fi
cat$tmpfile
mail-s"pingserver"$mailaddr< $tmpfile
rm -rf $tmpfile

方法四:

#!/bin/bash

rootmail="root@localhost"
tmpfile=`mktemp`
read-p"Inputaip:"ip

ping-c1"$ip"&>/dev/null

retval=$?

if[$retval-eq0];then
echo"Server$ipisup">$tmpfile
else
echo"Server$ipisdown">$tmpfile
fi

cat$tmpfile
mail-s"pingresult"$rootmail< $tmpfile
rm -rf $tmpfile

4.写一个脚本,局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里(如果例举整个网段的254个IP花的时间比较长,可以只分类10个ip10.1.1.1~10) 这只是一个局域网内机器检查通讯的一个思路。

#!/bin/bash
#清空原来ip文件里的列表
>/tmp/ip_ok
>/tmp/ip_down
ip=10.1.1
#循环去ping局域网内的主机
for((i=1;i<=10;i++))
do
ping -c1 $ip.$i &>/dev/null
test$?-eq0&&echo"$ip.$i"|tee-a/tmp/ip_ok||echo"$ip.$i"|tee-a/tmp/ip_down
done

思考:以上方法可以实现,但是速度很慢,希望并行执行

#!/bin/bash
#清空原来ip文件里的列表
>/tmp/ip_ok
>/tmp/ip_down
ip=10.1.1
#循环去ping局域网内的主机
for((i=1;i<=10;i++))
do
{
ping -c1 $ip.$i &>/dev/null
test$?-eq0&&echo"$ip.$i"|tee-a/tmp/ip_ok||echo"$ip.$i"|tee-a/tmp/ip_down
}&
done
wait
echo"ipisok..."

5.写一个脚本/home/hello.sh,要求当给脚本输入参数hello时,脚本返回world,给脚本输入参数world时,脚本返回hello。而脚本没有参数或者参数错误时,屏幕上输出“usage:/home/hello.sh hello or world”

#!/bin/bash
#read-p"Inputastring:"a

if[$#-eq0-o$#-gt1];then
echo"usage:/home/program/test4.shworld|hello"
#echo"usage:`basename$0`world|hello"#更常用的报错写法
elif["$1"="hello"];then
echo"world"
elif["$1"="world"];then
echo"hello"
else
echo"usage:/home/program/test4.shworld|hello"
fi

6.自动搭建nfs服务

#!/bin/bash
#关闭防火墙和selinux
serviceiptablesstop
chkconfigiptablesoff
setenforce0&>/dev/null
echo"########防火墙和selinux已经关闭########"
#测试网络,配置内网yum源
ping-c1192.168.1.10&>/dev/null
if[$?-eq0];then
echo"########网络ok########"
else
echo"########请检查你的网络########"
exit
fi
wget-P/etc/yum.repos.d/ftp://192.168.1.10/demo.repo&>/dev/null
#安装相关软件
yum-yinstall'nfs*'rpcbind&>/dev/null&&echo"########软件安装ok#######"
#发布共享目录并授权
read-p"Inputyoursharedir:"dir
[!-d$dir]&&mkdir$dir-p
#授权
chmod1777$dir
read-p"Inputyoursharehost(192.168.0.0/24(ro)):"host
cat>>/etc/exports<< end
$dir $host
end
#启动服务,开机自启动
service rpcbind restart &>/dev/null&&echo"##########rpcbind服务启动成功#############"
servicenfsrestart&>/dev/null&&echo"############nfs服务启动成功#############"
chkconfigrpcbindon
chkconfignfson
#测试验证
mkdir/u01&>/dev/null
mount.nfslocalhost:$dir/u01
[$?-eq0]&&echo"nfs服务测试ok,可以正常使用!"
umount/u01

7.将/etc/passwd里的用户名分类,分为管理员用户,系统用户,普通用户。

分析:
1.根据用户的uid来判断用户种类
2.用户的信息保存在/etc/passwd文件中,需要在该文件中获取UID
3.根据用户的uid去判断
管理员:root0
系统用户:1-499ftpapache...65534nfsnobody
普通用户:500-60000
#!/bin/bash
foriin`cat/etc/passwd|cut-d:-f1,3`
do
uid=`echo$i|cut-d:-f2`
name=`echo$i|cut-d:-f1`
[$uid-eq0]&&echo$name>>/tmp/adminuser
[$uid-gt0-a$uid-lt500-o$uid-eq65534]&&echo$name>>/tmp/systemuser
[$uid-ge500-a$uid-ne65534]&&echo$name>>/tmp/normaluser
done

8.写一个倒计时脚本,要求显示离2018年1月1日(元旦节)的凌晨0点,还有多少天,多少时,多少分,多少秒。

分析:
1.该脚本应该是一个死循环,除非当前系统时间等于1月1日的凌晨0点,要退出循环,并且打印元旦快乐break
2.计算未来时间(1月1日的凌晨0点)和当前系统时间的时间差时间单位相同并且以相同的时间为一个基准
需要定义2个变量:
现在时间和未来时间
date命令-d%s
3.计算
假如1月1日和现在时间相差100000s
1天=86400s
1小时=3600s
1分钟=60
$[100000/86400]=天
$[$[100000%86400]/3600]=小时
$[$[100000%3600]/60]=分钟
#!/bin/bash
goal=`date+%s-d20181001`

whiletrue或者untilfalse
do
now=`date+%s`
if[$[$goal-$now]-eq0];then
break
fi
day=$[($goal-$now)/86400]
hour=$[($goal-$now)%86400/3600]
minute=$[($goal-$now)%3600/60]
second=$[($goal-$now)%60]
clear
echo"离2018年1月1日还有$day天:$hour时:$minute分:$second秒"
sleep1
done
echo"元旦节快乐!!!"

9.写一个脚本把一个目录内的所有空文件都删除,最后输出删除的文件的个数。

分析:
1.如何判断文件是空文件-s判断文件内容为非空;判断空文件则!-seg:[!-sfile]
2.定义一个变量count=0来保存删除文件的个数,掌握四则运算letcount++
3.交互式定义变量让用户自己决定清理哪个目录/data/logs/10个文件循环次数由目录里的文件个数决定find命令
#!/bin/bash
read-p"输入一个你要删除空文件的目录:"dir

count=0
foriin`find$dir-typef`
do
[!-s$i]&&rm-rf$i&&letcount++##-s表示非空
done

echo"删除的个数为:"$count

10.写一个脚本,将跳板机上yunwei用户的公钥推送到局域网内可以ping通的所有机器上 10.1.1.1~10.1.1.254

分析:
环境:
jumper-server有yunwei用户
app1-appn局域网内所有可以ping通的机器


1.在跳板上创建yunwei用户,并且生成一对秘钥
2.检测当前局域网中哪些ip是能ping通哪些是不能ping通循环语句并发的去检查
3.在脚本中所有的交互动作需要用到expect实现

yunwei用户sudo授权:
visudo
##Allowroottorunanycommandsanywhere
rootALL=(ALL)ALL
yunweiALL=(root)NOPASSWD:ALL,!/sbin/shutdown,!/sbin/init,!/bin/rm-rf/
#!/bin/bash
#检查局域网中哪些ip是可以ping通,并保存到一个文件
ip1=10.1.1
for((i=1;i<=10;i++))
do
 {
      ping -c1 $ip1.$i &>/dev/null
[$?-eq0]&&echo"$ip1.$i">>ip_up.txt
}&
done
wait

#yunwei用户生成一对秘钥(有交互)
[!-f~/.ssh/id_rsa]&&ssh-keygen-P''-f~/.ssh/id_rsa

#将yunwe用户的公钥远程拷贝到指定的服务器100循环
##判断expect程序是否安装
{
rpm-qexpect
[$?-ne0]&&sudoyum-yinstallexpect
whilereadip2
do
/usr/bin/expect<<-EOF
 spawn ssh-copy-id  root@$ip2
 expect {
      "yes/no" {send "yes
";exp_continue}
      "password:" {send "123
"}
      }
 expect eof
 EOF
done/dev/null

#测试验证
remote_ip=`tail-1ip_up.txt`
sshroot@$remote_iphostname
[$?-eq0]&&echo"公钥推送完毕...."
#!/bin/bash
#pushpublickeytoaap-servers
#将局域网内可以ping通的主机ip保存到一个文件
>ip_up.txt
foriin{2..10}
do
{
ip=10.1.1.$i
ping-c1$ip&>/dev/null
[$?-eq0]&&echo$ip|tee-aip_up.txt
}&//并行放到后台运行
done
wait//等待进程结束
#将yunwei用户目录下的公钥推送到可以ping的服务器上
#1.判断yunwei用户下有没有公钥
[!-f~/.ssh/id_rsa.pub]&&ssh-keygen-P""-f~/.ssh/id_rsa

#2.将id_rsa.pub公钥远程推送到指定服务器
#2.1判断expect程序是否安装,没安装则安装它
{
rpm-qexpect
[$?-ne0]&&sudoyum-yinstallexpect

forremote_ipin`catip_up.txt`
do
/usr/bin/expect<<-EOF
 spawn ssh-copy-id root@$remote_ip
 expect {
       "yes/no" { send "yes
";exp_continue }
       "password:" { send "123
" }
 }
  expect eof
 EOF
done
} &>/dev/null
#测试验证
test_ip=`tail-1ip_up.txt`
sshroot@$test_iphostname
test$?-eq0&&echo"公钥推送成功。"
#!/bin/bash
[!-f~/.ssh/id_rsa.pub]&&ssh-keygen-P""-f~/.ssh/id_rsa
rpm-qexpect
[$?-ne0]&&sudoyum-yinstallexpect
foriin{130..140}
do
ip=192.168.44.$i
ping-c1$ip
[$?-ne0]&&continue
echo$ip>>ip_up.txt
/usr/bin/expect<<-EOF
        spawn ssh-copy-id root@$ip
        expect {
        "yes/no" { send "yes
";exp_continue }
        "password:" { send "123456
" }
        }
        expect eof
        EOF
done
#测试验证
test_ip=`tail -1 ip_up.txt`
ssh root@$test_ip hostname
test $? -eq 0 && echo "公钥推送成功。"

11.

任务/背景:
现有的跳板机虽然实现了统一入口来访问生产服务器,yunwei用户权限太大可以操作跳板机上的所有目录文件,存在数据被误删的安全隐患,所以希望你做一些安全策略来保证跳板机的正常使用。

具体要求:

只允许yunwei用户通过跳板机远程连接后台的应用服务器做一些维护操作

公司运维人员远程通过yunwei用户连接跳板机时,跳出以下菜单供选择:

欢迎使用Jumper-server,请选择你要操作的主机:
1.DB1-Master
2.DB2-Slave
3.Web1
4.Web2
q.exit

当用户选择相应主机后,直接免密码登录成功

如果用户不输入一直提示用户输入,直到用户选择退出

思路:

需要当yunwei用户登录时执行一个脚本(该脚本放到哪里?)yunwei用户的家目录里的.bashrc

脚本中需要打印一个菜单供用户选择(case…esac

免密码登录(上面第10个脚本推公钥的脚本)

#!/bin/bash
#公钥推送成功
trap''12319
#打印菜单用户选择
menu(){
cat<<-EOF
欢迎使用Jumper-server,请选择你要操作的主机:
1. DB1-Master
2. DB2-Slave
3. Web1
4. Web2
h. help
q. exit
EOF
}

#调用函数来打印菜单
menu
while true
do
read -p "请输入你要选择的主机[h for help]:" host

#通过case语句来匹配用户所输入的主机
case $host in
 1|DB1)
 ssh root@10.1.1.1
 ;;
 2|DB2)
 ssh root@10.1.1.2
 ;;
 3|web1)
 ssh root@10.1.1.250
 ;;
 h|help)
 clear;menu
 ;;
 q|quit)
 exit
 ;;
esac
done


#!/bin/bash
#jumper-server
#菜单打印
trap '' 1 2 3 
while true
do
cat <<-END
欢迎使用Jumper-server,请选择你要操作的主机:
1. DB1-Master
2. DB2-Slave
3. Web1
4. Web2
5. exit
END
#让用户选择相应的操作
read -p "请输入你要操作的主机:" host
case $host in
 1)
 ssh root@10.1.1.2
 ;;
 2)
 ssh root@10.1.1.3
 ;;
 3)
 ssh root@10.1.1.4
 ;;
 5)
 exit
 ;;
 *)
 clear
 echo "输入错误,请重新输入..."
 ;;
esac
done

12.写一个脚本,统计web服务的不同连接状态个数

#!/bin/bash
#count_http_80_state
#统计每个状态的个数
declare-ASTATE
states=`ss-ant|grep80|cut-d''-f1`
foriin$states
do
letSTATE[$i]++
done
#通过遍历数组里的索引和元素打印出来
forjin${!STATE[@]}
do
echo$j:${STATE[$j]}
done

13.写一个自动搭建apache服务的脚本,要求如下:

1、用户输入web服务器的IP、域名以及数据根目录
2、如果用户不输入则一直提示输入,直到输入为止
3、当访问www.test.cc时可以访问到数据根目录里的首页文件“thisistestpage”
#!/bin/bash
#定义函数实现用户不输入则一直提示输入,直到输入为止
input_fun(){
input_var=''
while[-z$input_var]
do
read-p"$1"input_var
done
echo$input_var
}
#调用函数并且获取用户输入web服务器的IP、域名以及数据根目录
IP=`input_fun请输入你的IP地址:`
name=`input_fun请输入你的域名:`
dir=`input_fun请输入你的数据根目录:`
#将ip与主机名输入到hosts文件里
cat>>/etc/hosts<$dir/index.html
#yum安装apache
yum-yinstallhttpd&>/dev/null
#发布虚拟主机
cat>>/etc/httpd/conf/httpd.conf<<-EOF
NameVirtualHost *:80

ServerAdminwebmaster@dummy-host.example.com
DocumentRoot$dir
ServerName$name
ErrorLoglogs/dummy-host.example.com-error_log
CustomLoglogs/dummy-host.example.com-access_logcommon

EOF
#启动
servicehttpdrestart&>/dev/null
echo"====apache启动成功===="
#测试验证
curlhttp://$name

14.需求:写一个脚本让用户输入基本信息(姓名,性别,年龄),如不输入一直提示输入,最后根据用户的信息输出相对应的内容

思路:

循环直到输入字符串不为空 -z -n

根据用户输入信息做出匹配判断

#!/bin/bash
#该函数实现用户如果不输入内容则一直循环直到用户输入为止,并且将用户输入的内容打印出来
input_fun()
{
input_var=""
output_var=$1
while[-z$input_var]
do
read-p"$output_var"input_var
done
echo$input_var
}


或者
fun(){
read-p"请输入您的姓名:"name
if[-z$name];then
fun
else
echo"你好,$name!"
fi
}
fun


#调用函数并且获取用户的姓名、性别、年龄分别赋值给name、sex、age变量
name=$(input_fun请输入你的姓名:)
sex=$(input_fun请输入你的性别:)
age=$(input_fun请输入你的年龄:)

#根据用户输入的性别进行匹配判断
#根据用户所输入的内容进行判断输入
case$sexin
man|男)
if[$age-ge18-a$age-le25];then
echo"哥们,娶媳妇了吗"
elif[$age-gt25-a$age-le35];then
echo"要担起家庭的责任"
elif[$age-lt18];then
echo"小伙子不错"
else
echo"$name先生,你油腻了吗?"

fi
;;
woman|女)
echo"$name小姐姐你好漂亮"
;;
*)
echo"你是泰国来的吗?"
;;

esac

15.写一个初始化系统的脚本

1)自动修改主机名(如:ip是192.168.0.88,则主机名改为server88.itcast.cc)
a.更改文件非交互式sed
/etc/sysconfig/network
b.将本主机的IP截取出来赋值给一个变量ip;再然后将ip变量里以.分割的最后一位赋值给另一个变量ip1
2)自动配置可用的yum源
3)自动关闭防火墙和selinux
#!/bin/bash
ip=`ifconfigeth1|sed-n'2p'|sed's/.*addr:(.*)Bcast.*/1/g'`
ip1=`echo$ip|cut-d.-f4`
#修改主机名
sed-i"/HOSTNAME=/cHOSTNAME=server$ip1.itcast.cc"/etc/sysconfig/network
echo"$ipserver$ip1.itcast.cc">>/etc/hosts
#配置yum源
mount/dev/sr0/mnt/&>/dev/null
cat>/etc/yum.repos.d/local.repo<<-EOF
[local]
name=local yum
baseurl=file:///mnt
enabled=1
gpgcheck=0
EOF
#关闭防火墙和selinux
service iptables stop &>/dev/null
setenforce0&>/dev/null
#sed-i'/SELINUX=/cSELINUX=disabled'/etc/selinux/config

16.写一个搭建ftp服务的脚本,要求如下:

1)不支持本地用户登录
2)匿名用户可以上传新建删除
3)匿名用户限速500KBps
#!/bin/bash
#安装软件
read-p"请输入需要安装的软件:"s
yum-yinstall$s&>/dev/null
#备份配置文件
c=/etc/vsftpd/vsftpd.conf
cp$c$c.bak
#修改配置文件
sed-i'/local_enable/clocal_enable=NO'$c
sed-i'$aanon_upload_enable=YES'$c
sed-i'$aanon_mkdir_write_enable=YES'$c
sed-i'$aanon_other_write_enable=YES'$c
sed-i'$aanon_max_rate=512000'$c
#启动服务
servicevsftpdrestart&>/dev/null
echo'vsftpd启动成功'
#测试验证
chmod777/var/ftp/pub
touch/var/ftp/pub/1.txt
ip=`ifconfigeth1|sed-n'2p'|sed's/.*addr:(.*)Bcast.*/1/g'`
cd/tmp
lftp$ip<

17.写一个自动检测磁盘使用率的脚本,当磁盘使用空间达到90%以上时,需要发送邮件给相关人员

#!/bin/bash
#Name:check_space.sh
#Desc:checkdiskspace
/bin/df-h>df.txt
use=`catdf.txt|awk'{print$5}'|grep-o'[0-9]+'`
foriin$use
do
[$i-ge90]&&echonoticediskspace:`grep$idf.txt`|mailtom
done
rm-fdf.txt

18.写一个脚本监控系统内存和交换分区使用情况

#!/bin/bash
OIFS=$IFS初始化默认分隔符
IFS="
"定义默认分隔符
file=`free-m|sed-nr'/Mem|Swap/p'|awk'{print$4,$2}'`
mem=`echo$file|head-1`
swap=`echo$file|tail-1`
echo$mem|awk'{if(($1/$2)*100<=50) print "物理内存空间需要留意,剩余"$1"M";else print "物理内存在正常范围"}'
  echo $swap |awk '{if(($1/$2)*100<=50) print "交换空间需要留意,剩余"$1"M";else print "交换空间在正常范围"}'
#!/bin/bash
#监控系统内存和交换分区使用情况
#/shell05/free.sh
#取当前时间
date>>/tmp/date.txt
#取物理内存free值
echo"Mem-free:`free-m|grepMem|awk'{print$4}'`M">>/tmp/mem-free.txt
#取缓冲区free值
echo"buffers/cache-free:`free-m|grep-|awk'{print$4}'`M">>/tmp/buffers-free.txt
#取Swap区free值
echo"Swap-free:`free-m|grepSwap|awk'{print$4}'`M">>/tmp/swap-free.txt
#将时间与相关数据重新写入新文件
paste/tmp/date.txt/tmp/mem-free.txt/tmp/buffers-free.txt/tmp/swap-free.txt>/tmp/free.txt
#发送监控邮件
mail-s"内存监控报告"root@localhost< /tmp/free.txt

19.输入一个IP地址,使用脚本判断其合法性:必须符合ip地址规范,第1、4位不能以0开头,不能大于255不能小于0

#!/bin/bash
#ValidIP
#/shell05/valid.sh
read-p"请输入要检查的IP:"IP
ifecho$IP|grep-E"^([0-9]{1,3}.){3}[0-9]{1,3}$"&>/dev/null;then
a1=`echo$IP|cut-d.-f1`
a2=`echo$IP|cut-d.-f2`
a3=`echo$IP|cut-d.-f3`
a4=`echo$IP|cut-d.-f4`
if[$a1-gt0-a$a1-le255-a$a2-le255-a$a3-le255-a$a4-gt0-a$a4-le255];then
echo"$IPavailable!"
else
echo"$IPnotavailable!"
fi
else
echo"IPformaterror!"
fi






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 局域网
    +关注

    关注

    5

    文章

    749

    浏览量

    46276
  • TMP
    TMP
    +关注

    关注

    0

    文章

    15

    浏览量

    31851
  • NFS
    NFS
    +关注

    关注

    1

    文章

    53

    浏览量

    26097
  • Shell
    +关注

    关注

    1

    文章

    365

    浏览量

    23348

原文标题:这19个Shell脚本值得收藏!

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    shell脚本进阶】几个常用的shell进阶脚本

    shell脚本进阶】几个常用的shell进阶脚本
    的头像 发表于 09-19 08:59 1874次阅读
    【<b class='flag-5'>shell</b><b class='flag-5'>脚本</b>进阶】几个常用的<b class='flag-5'>shell</b>进阶<b class='flag-5'>脚本</b>

    嵌入式Linux入门(五、Shell脚本编程上:认识Shell脚本

    大家好,是矜辰所致,嵌入式 Linux入 门第五课,本课开始简单学习一下 Shell 脚本编程。
    的头像 发表于 07-13 16:10 1611次阅读
    嵌入式Linux入门(五、<b class='flag-5'>Shell</b><b class='flag-5'>脚本</b>编程上:认识<b class='flag-5'>Shell</b><b class='flag-5'>脚本</b>)

    100Linux Shell脚本总结

    不知道大家有没有发现,会编写shell脚本的运维,工资不会低,并且他的工作会很轻松!今天浩道跟大家分享每一个Linux运维应知必会的100shel
    的头像 发表于 12-05 09:28 1242次阅读

    科普一下RK3288安卓主板的优势特点有哪些呢

    科普一下RK3288安卓主板的优势特点有哪些呢
    发表于 03-03 13:33

    科普一下RK3399 Audio的功能有哪些呢

    科普一下RK3399 Audio的功能有哪些呢?
    发表于 03-04 12:47

    科普一下RK3399/libdrm/modetest

    科普一下RK3399/libdrm/modetest
    发表于 03-07 07:06

    科普一下RK3328 SoC有何功能呢

    科普一下RK3328 SoC有何功能呢?
    发表于 03-09 07:28

    如何做才能学好Shell脚本的经验总结

    大多同学反馈Shell脚本不容易学,感觉学完了Shell脚本这部分课程,还是不能写出脚本来。 我来帮大家分析
    的头像 发表于 01-09 18:23 6226次阅读
    如何做才能学好<b class='flag-5'>Shell</b><b class='flag-5'>脚本</b>的经验总结

    shell脚本最简明的教程

    Shell脚本,就是利用Shell的命令解释的功能,对纯文本的文件进行解析,然后执行这些功能,也可以说
    的头像 发表于 10-16 11:27 4818次阅读
    <b class='flag-5'>shell</b><b class='flag-5'>脚本</b>最简明的教程

    如何创建和执行简单的Linux shell脚本

     如果您愿意要尝试更长的shell脚本,请将下面的shell脚本(并附加为PDF和ODT文件)复制到文本编辑器中,保存,使其可执行并运行。当您了解更多Linux命令时,您可以创建更复杂
    的头像 发表于 11-06 17:28 1.3w次阅读

    109实用shell脚本分享

    Shell脚本,就是利用Shell的命令解释的功能,对纯文本的文件进行解析,然后执行这些功能,也可以说
    的头像 发表于 03-16 08:58 2615次阅读

    100Shell脚本经典案例解析

    今天浩道跟大家分享100Linux Shell脚本经典案例,让你次撸够。
    的头像 发表于 02-10 13:51 2642次阅读

    shell脚本基础知识

    shell脚本文件,里面存放的是特定格式的指令,系统可以使用脚本解析器翻译或解析指令并执行(无需编译),
    的头像 发表于 04-17 15:00 1081次阅读

    Linux Shell脚本经典案例分享

    ​ 作为名 Linux 运维工程师,会写好的脚本不仅能提高工作效率,还能有更多的时间做自己的事。最近在网上冲浪的时候,发现大家对Shell脚本都有“心结”,要么觉得自己写出来不好
    发表于 06-16 14:03 647次阅读
    Linux <b class='flag-5'>Shell</b><b class='flag-5'>脚本</b>经典案例分享

    分享249拿来即用的shell脚本

      由于脚本案例太多,在此仅展示部分,完整版领取方式请见文末       249拿来即用的shell脚本!   这249
    的头像 发表于 07-07 10:52 1173次阅读
    分享249<b class='flag-5'>个</b>拿来即用的<b class='flag-5'>shell</b><b class='flag-5'>脚本</b>