码迷,mamicode.com
首页 > 系统相关 > 详细

shell

时间:2018-11-28 11:55:35      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:环境   交互   重要   linu   脚本   权限   正式   方式   etc   

shell脚本的建立和执行

linux中,shell脚本通常是在编辑器vi/vim中编写的。

脚本的开头(第一行)

一个规范的脚步的shell脚本的第一行指出 由哪个程序(解释器)来执行脚本中的内容。

#!/bin/bash

或者

#!/bin/sh

开头的#!称为 幻数,在执行bash脚本的时候,会根据“#!”后的解释器来确定该程序用哪个解释脚本中的程序。这一行必须位于第一行。

 shell脚本的执行

当shell脚本以非交互的方式运行时,它会先查找环境变量ENV,该变量指定了一个环境变量(通常是.bashrc,.bash_profile,/etc/bashrc,/etc/profiled等),然后从环境变量开始执行,当读取了ENV文件后,shell才开始执行shell脚本的内容。

crond任务时把系统环境变量在脚本中重新定义!

shell脚本的执行通常可以采用以下三种方式:

1)bash script-name  或  sh script-name(推荐使用)

2)path/script-name  或 ./script-name(当前路径下执行脚本)

3)source script-name 或 . script-name

第一种方式是当脚本文件本身没有可执行权限时常用的方法。

第二种方法需要先将脚本文件的执行权限改为可执行

第三种方法source执行脚本,可以将脚本中的变量的值或函数值传递到当前的父shell脚本中,这是和前两种方法的最大区别。

shell脚本的调试

使用echo命令调试

一般在可能出现问题的脚本重要部分加入echo和exit,然后执行看结果是否和报错有关

bash命令调试参数

 -x 将执行脚本内容及输出显示到屏幕,是对调试很有用的参数

 -n 不执行脚本,只检查语法有没有错误的提示   (用在正式环境不能执行的情况下)

 -v 将脚本输出到屏幕上然后执行脚本,然后输出是否有错误 (一般不用它)

 -x的缺点:会显示一些不想看到的引用的函数执行过程,这些过程没有错误的

set命令调试

 set  –x  set  +x

在脚本中想调试的头尾增加set –x  set +x,然后bash 脚本

shell

标签:环境   交互   重要   linu   脚本   权限   正式   方式   etc   

原文地址:https://www.cnblogs.com/muyi817/p/10030227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!