学 shell (1/5)

假设这是某脚本 x.sh 的内容,使用 sh x.sh arg1 来执行该脚本

#!/bin/bash
cd `dirname $0`/..
source scripts/status.sh
start [email protected]

第一行 #! /bin/bash 说明使用 bash 的位置

第二行 ``内的代码会优先被执行,$0 表示被执行脚本,dirname 返回它所在的文件路径,类似 pwd

source scripts/status.sh 表示执行x.sh

start [email protected] 表示执行 status.sh 脚本下的 start 函数并将 arg1 传过来,[email protected] 会传递所有的参数

例2:

调试 bash 程序

bash -x x.sh

可以打印出程序的执行的中间过程,在一定程度上能够帮助 debug

时间: 2024-11-03 05:42:07

学 shell (1/5)的相关文章

一点一滴学shell

1. 获取shell脚本的名称 ${BASH_SOURCE-$0} 2. 获取shell脚本的路径 dirname "${BASH_SOURCE-$0}" 这个路径不一定是脚本的真实路径,举例来说,假设这个命令在文件/home/hubavyn/test.sh中. 执行如下操作: cd /home/hubavyn/a (假设a是一个文件夹) sh ../test.sh (这个时候执行上述dirname命令得到的结果只是..) 而如果要获得脚本的真实路径(/home/hubavyn),则要

Linux就该这么学--Shell脚本基本应用

1.接收用户的参数: Shell脚本为了能够让用户更灵活的完成工作需求,可以在执行命令时传递参数:(命令名 参数1 参数2...) Shell预定义变量: $0 当前执行Shell脚本的程序名 $1-9,${10},${11}... $# 一共有多少个参数 $* 所有位置变量的值 $? 判断上一条命令是否执行成功,0为成功,非0为失败. eg. 创建并编辑Demo.sh: vim Demo.sh 编辑内容如下: #!/bin/bash echo "当前脚本名称为$0" echo &qu

从零开始学Shell(二)

$1,$2....${10},${11},[root@localhost cee]# cat p.sh #!/bin/bash#file_name:p.shecho $1 $2[root@localhost cee]# sh p.sh 123 william123 william[root@localhost cee]# sh p.sh 123 william 456123 william[root@localhost cee]# [root@localhost cee]# echo \${1.

shell编程基础一(多种方法求值1+2+..+100)

#SHELL编程基础一(多种方法求值1+2+..+100)##为什么要学好shell shell脚本语言是实现linux系统管理及自动化运维所必备的重要工具,linux系统的底层及基础应用软件的核心大都涉及shell脚本的内容. 每一个合格的linux系统管理员或运维工程师,都需要能够熟练地编写shell脚本语言,并能够阅读系统及各类软件附带的shell脚本内容. 只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的工作,从而为个人的职场发展奠定较好的基础.# 本文的宗旨是熟

Linux shell编写系统服务脚本

1 事先准备工作:源码安装apache .安装目录为/usr/local/httpd 2 3 任务需求: 4 1.可通过 service httpd start|stop|status|restart 命令对服务进行控制 5 6 2.httpd服务可开机自启动 7 8 思路: 9 1.start.stop操作可直接调用源码安装的httpd的控制程序apachectl 10 2.在启动服务时,建立httpd.lock文件:停止服务时删除 11 3.status操作检测httpd.lock文件是否存

Shell脚本查看linux系统性能瓶颈(转)

linux服务器敲命令反应慢,网站访问慢,到底什么情况?根据本人的经验,主要原因可能是系统资源到达瓶颈,已经无法处理更多请求.在有监控系统情况下,可以直接通过WEB页面可视化看出是CPU瓶颈?硬盘瓶颈?还是网络瓶颈?如果公司服务器较少或者云服务器,就有可能没有一套监控系统,这时就要登陆到服务器,一条一条的敲命令,查找分析性能瓶颈.命令这么多,咋记得住啊!就算记得住,输入也费劲,于是就有了这个脚本,为了以后自己使用,另外也想分享给博友,学shell朋友能从中得到一丢丢启发.写的比较仓促,内容有点粗

Shell脚本查看linux系统性能瓶颈

linux服务器敲命令反应慢,网站访问慢,到底什么情况?根据本人的经验,主要原因可能是系统资源到达瓶颈,已经无法处理更多请求.在有监控系统情况下,可以直接通过WEB页面可视化看出是CPU瓶颈?硬盘瓶颈?还是网络瓶颈?如果公司服务器较少或者云服务器,就有可能没有一套监控系统,这时就要登陆到服务器,一条一条的敲命令,查找分析性能瓶颈.命令这么多,咋记得住啊!就算记得住,输入也费劲,于是就有了这个脚本,为了以后自己使用,另外也想分享给博友,学shell朋友能从中得到一丢丢启发.写的比较仓促,内容有点粗

shell编程--统计代码行数

引:之前都太懒,没有及时把学到的知识总结到博客里.最近在学shell编程,正好作为养成写博客习惯的开端.平时我们都会遇到一个问题,写完一个项目后,想统计一下总的代码量,当代码文件很多时,一个个点开代码文件,然后把代码行数加起来是一件很费神的事.shell可以用短短几行代码就搞定这个问题. 一 shell源码(code_linage.sh): 1 #!/bin/bash 2 3 if [ $# -eq 1 ] && [ -d $1 ] 4 then 5 find $1 -type f -na

精讲shell基础以及如何高效的学习shell编程

1.前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚本的内容.每一个合格的Linux系统管理员或运维工程师,都需要熟练的编写Shell脚本语言,并能够阅读系统及各类软件附带的Shell脚本内容.只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的重复工作,从而为个人的职场发展奠定较好的基础 1.2 学好Shell编程所需的基础知识