❶ shell脚本和python脚本哪个强大
这两个没有可比性。
shell脚本只能和python的自动化相关做个比较,它的针对性强一些。
❷ Shell脚本语言优势怎样
Shell脚本语言的优势在于处理偏操作系统底层的业务,例如:Linux系统内部的很多应用(有的是应用的一部分)都是使用Shell脚本开发的,因为有1000多个Linux系统命令为它做支撑,特别是Linux正则表达式及三剑客grep、sed、awk等命令。
对于一些常见的系统脚本使用Shell开发会更简单、更快速,例如:让软件一键自动化安装、优化,监控报警脚本,软件启动脚本,日志分析脚本等,虽然PHP/Python语言也能够做到这些,但是,考虑到掌握难度、开发效率、开发习惯等因素,它们可能就不如Shell脚本语言流行及有优势了。对于一些常规的业务应用,使用Shell更符合Linux运维简单、易用、高效的三大基本原则。
PHP语言的优势在于小型网站系统的开发;Python语言的优势在于开发较复杂的运维工具、Web界面的管理工具和Web业务的开发(例如:CMDB自动化运维平台、跳板机、批量管理软件SaltStack、云计算OpenStack软件)等。我们在开发一个应用时应根据业务需求,结合不同语言的优势及自身擅长的语言来选择,扬长避短,从而达到高效开发及易于自身维护等目的。
❸ 写个shell脚本分别提高linux系统的内存和cpu使用率
命名行下输入python
然后写个死循环:
while True:
print "i want to exaust cpu"
试试呗,水平有限。
应该会提高,但不知道能提到多少。
❹ shell脚本如何多线程并发
分享一个在Linux下模拟多线程的并发脚本,使用这个脚本可以同时批量在定义数量的服务器上执行相关命令,比起普通for/while循环只能顺序一条一条执行的效率高非常多,在管理大批服务器时非常的实用。
以下脚本功能是通过scp(也可选rsync)向上千台服务器传更新包,脚本运行后同时在后台有50个scp进程向服务器传包。
#!/bin/bash
ip=`cat iplist.txt|grep -v "#"|awk '{print $1}'` #过滤服务器IP
dir='/usr/local/src' #目标路径
thead_num=50 #自定义并发数,根据自身服务器性能或应用调整大小,开始千万别定义太大,避免管理机宕机
tmp_fifo_file="/tmp/$$.fifo" #以进程ID号命名管道文件
mkfifo $tmp_fifo_file #创建临时管道文件
exec 4<>$tmp_fifo_file #以读写方式打开tmp_fifo_file管道文件,文件描述符为4,也可以取3-9任意描述符
rm -f $tmp_fifo_file #删除临时管道文件,也可不删除
for ((i=0;i<$thead_num;i++)) #利用for循环向管道中输入并发数量的空行
do
echo "" #输出空行
done >&4 #输出重导向到定义的文件描述符4上
for i in $ip #循环所有要执行的服务器
do
read -u4 #从管道中读取行,每次一行,所有行读取完毕后执行挂起,直到管道有空闲的行
{
scp -P 1000 $1 $i:$dir #所有要批量执行的命令都放在大括号内,scp是一个简单实例,可替换任意其他命令及命令组,1000为服务器端的端口
sleep 3 #暂停3秒,给系统缓冲时间,达到限制并发进程数量
echo "" >&4 #再写入一个空行,使挂起的循环继续执行
}& #放入后台执行
done
wait #等待所有后台进程执行完成
exec 4>&- #删除文件描述符
exit 0
❺ 如何提升编写Shell脚本的能力
总体感觉应该是三个方面加强:
1.思维能力加强,判定一个shell脚本编写时,必须首现有思路,有思路之后再在此基础上考虑下,如何提高效率简化。
2.基本命令加强
熟悉常用的一些命令,比如awk,exprt,循环嵌套语句等等
3.多学多问多看
思路是需要培养的,当不确定脚本如何编写时借鉴前辈经验,将别人的东西搞成自己的。
呵呵,说多了还是多练习,欲速则不达
❻ shell脚本的性能怎么查看
你好,在我看来,shell脚本执行的很快,一般不需要查看性能
❼ shell脚本能不能加速执行
执行shell脚本时都是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。
shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。
而方法四则是在当前shell中执行的。
❽ shell多个脚本怎么并发执行
inux 下shell脚本执行多个命令的方法
1.每个命令之间用;隔开
说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。
2.每个命令之间用&&隔开
说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。
3.每个命令之间用||隔开
说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止
❾ 求大佬教我优化shell脚本
我有几个数据,想让它们跟某一个特定的数值进行差值计算,然后返回绝对值最大的那个。
比如说有
123
456
111
跟100差值计算
返回456
不知道怎么写 希望大佬带
❿ shell脚本优化
能稍微给点 $TABLE 里的文本,还有想达到最终效果的文本样式。
你是先写10行$TABLE.xls 在删10 然后在打印含有|的行重新写进$TABLE.xls
是这意思吗?
你直接-i 参数直接在文本里操作不行吗?