shell高级编程之shell脚本执行与规范精编.docx

shell高级编程之shell脚本执行与规范精编.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实例:#!/bin/bash #清除日志脚本 (#!又称为幻数)LOG_DIR=/var/log ROOT_UID=0#$UID为0的时候,用户才具有root用户的权限#要使用root用户来运行if [ $UID -ne $ROOT_UID ]thenecho Must be root to run this script.exit 1 ficd $LOG_DIR || {echo Cannot change to necessary directory . 2exit 1 }查看默认shell $SHELL grep root /etc/passwdshell脚本运行时,先查找环境变量ENV ,该变量指定一个环境文件(通常为 .bashrc)读取文件后开始执行脚本执行脚本的三种方式bash script-name 或sh script-name推荐使用脚本本身没有执行权限及文件x位为- 号或者开头没有指定解释器,推荐path/script-name或 ./script-name当前路径下执行脚本需要先将脚本文件的权限改为可执行chmod +x script-name 或chmod 755 script-name推荐第一种代替source script-name 或 . script-name #--注意. 点号脚本当中加载另一个脚本时使用,会把父shell的运行传到子shell中来例:cat test.sh -- echo I am weige cat test.sh 1)sh test.sh bash test.sh 2)./test.shchmod 755 test.sh./test.sh 3)source test.sh . test.sh例:验证第三种方法用途:echo userdir=`pwd` testsource.shcat testsource.sh sh testsource.shecho $userdir. testsource.shecho $userdir#当前的窗口是一个shell,脚本又是另外一个shell,第一二种方法不会把定义传到当前shell命令行# 用.号加载,就可以把定义传到当前shell命令行当中来,所以就可以echoShell脚本开发基本规范和习惯1.#!/bin/bash 或#!/bin/sh可配置vim编辑文件时自动加上以上信息,方法是修改~./vimrc配置文件2.脚本中尽量不要用中文注释3.脚本已.sh为扩展名例:script-name.sh4.代码书写优秀习惯:成对内容一次书写【[] {}“” ‘’ ``】[]括号两端要有空格流程控制语句一次书写完成如if/for语句格式一次写完,在书写内容if 条件内容for Then 内容do 内容Fi done通过缩进让代码更易读变量基础及深入环境变量(全局变量)局部变量常见环境变量:$PATH:决定了shell将到哪些目录中寻找命令或程序$PATH:决定了shell将到哪些目录中寻找命令或程序$HOME:当前用户主目录$MAIL:是指当前用户的邮件存放目录.$SHELL:是指当前用户用的是哪种Shell. $HISTSIZE:是指保存历史命令记录的条数$LOGNAME:是指当前用户的登录名. $HOSTNAME:是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的. $LANG/LANGUGE:是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量.$PS1:是基本提示符,对于root用户是#,对于普通用户是$,也可以使用一些更复杂的值.$PS2:是附属提示符,默认是“”.可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,MyNewPrompt :) ”. $IFS:输入域分隔符.当shell读取输入时,用来分隔单词的一组字符,它们通常是空格、制表符和换行符.$0:shell脚本的名字.  例如,在我的Linux系统中:    $ echo $0    /bin/bash$#: 传递给脚本的参数个数.$$:shell脚本的进程号,脚本程序通常会用它生成一个唯一的临时文件,如/tmp/tmfile_$$    例如,在我的Linux系统中:    $ echo $$    31038 #表示当前shell进程号为31038  设置环境变量的三种方法:export 变量名=value export NAME=weige变量名=value;export变量名NAME=weige; export NAME3、declare –x 变量名=value Declare –x NAME=weige自定义环境变量生产环境Java环境配置实例:tomca

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档