云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > shell高级编程之shell脚本执行与规范

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

  • 62 次阅读
  • 3 次下载
  • 2025/6/2 14:53:29

实例:

#!/bin/bash #清除日志脚本 (#!又称为幻数) LOG_DIR=/var/log

ROOT_UID=0 #$UID为0的时候,用户才具有root用户的权限#要使用root用户来运行 if [ \then echo \ exit 1 fi

cd $LOG_DIR || { echo \ exit 1 }

查看默认 shell $SHELL grep root /etc/passwd

shell脚本运行时,先查找环境变量ENV ,该变量指定一个环境文件(通常为 .bashrc)

读取文件后开始执行脚本执行脚本的三种方式 1. bash script-name 或sh script-name推荐使用

脚本本身没有执行权限及文件x位为- 号或者开头没有指定解释器,推荐 2. path/script-name或 ./script-name当前路径下执行脚本

需要先将脚本文件的权限改为可执行chmod +x script-name 或chmod 755 script-name 推荐第一种代替

3. 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.sh ? chmod 755 test.sh ? ./test.sh 3)source test.sh . test.sh 例:验证第三种方法用途:

echo 'userdir=`pwd`' >testsource.sh cat testsource.sh

sh testsource.sh echo $userdir . testsource.sh echo $userdir

#当前的窗口是一个shell,脚本又是另外一个shell,第一二种方法不会把定义传到当前shell命令行 # 用.号加载,就可以把定义传到当前shell命令行当中来,所以就可以echo

Shell脚本开发基本规范和习惯

1.#!/bin/bash 或#!/bin/sh 开头指定脚本解释器 开头加载版本版权等信息

可配置vim编辑文件时自动加上以上信息,方法是修改~./vimrc配置文件 2.脚本中尽量不要用中文注释

3.脚本已.sh为扩展名例:script-name.sh

4.代码书写优秀习惯:成对内容一次书写【[] {}“” ‘’ ``】

[]括号两端要有空格

流程控制语句一次书写完成

如if/for语句格式一次写完,在书写内容 if 条件内容 for Then 内容 do 内容 Fi done 通过缩进让代码更易读

变量基础及深入

环境变量(全局变量) 局部变量

常见环境变量: $PATH: $PATH: $HOME: $MAIL: $SHELL: $HISTSIZE: $LOGNAME: $HOSTNAME: 决定了shell将到哪些目录中寻找命令或程序 决定了shell将到哪些目录中寻找命令或程序 当前用户主目录 是指当前用户的邮件存放目录. 是指当前用户用的是哪种Shell. 是指保存历史命令记录的条数 是指当前用户的登录名. 是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的. 是基本提示符,对于root用户是#,对于普通用户是$,也可以使用一些更复杂的值. 是附属提示符,默认是“>”.可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,MyNewPrompt :) ”. 输入域分隔符.当shell读取输入时,用来分隔单词的一组字符,它们通常是空格、制表符和换行符. shell脚本的名字. 例如,在我的Linux系统中: $ echo $0 /bin/bash 传递给脚本的参数个数. shell脚本的进程号,脚本程序通常会用它生成一个唯一的临时文件,如/tmp/tmfile_$$ 例如,在我的Linux系统中: $ echo $$ 31038 #表示当前shell进程号为31038 $LANG/LANGUGE: 是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量. $PS1: $PS2: $IFS: $0: $#: $$: 设置环境变量的三种方法: 1、 export 变量名=value

export NAME=weige

2、 变量名=value;export变量名

NAME=weige; export NAME 3、declare –x 变量名=value

Declare –x NAME=weige

自定义环境变量生产环境Java环境配置实例:tomcat,resin.csvn,hadoop

用env(printenv)或set显示默认的环境变量

用unset消除本地变量和环境变量,临时生效

永久生效:写入配置文件 /etc/profile

局部变量: 字母,数字,下划线

1、 普通字符串变量定义

变量名=value

直接定义变量内容,内容一般为简单连续的数字、字符串和路径名 变量名=’value’

引号里面是什么就输出什么,即使内容包含变量也会把变量名原样输出,适合定义显示纯字符串 变量名=”value”

引号里面的内容会解析后输出该变量内容,适合语字符串中附带有变量的内容的定义

习惯:数字不加引号,其他默认加双引号

搜索更多关于: shell高级编程之shell脚本执行与规范 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

实例: #!/bin/bash #清除日志脚本 (#!又称为幻数) LOG_DIR=/var/log ROOT_UID=0 #$UID为0的时候,用户才具有root用户的权限#要使用root用户来运行 if [ \then echo \ exit 1 fi cd $LOG_DIR || { echo \ exit 1 } 查看默认 shell $SHELL grep root /etc/passwd shell脚本运行时,先查找环境变量ENV ,该变量指定一个环境文件(通常为 .bashrc) 读取文件后开始执行脚本执行脚本的三种方式 1. bash script-name 或sh script-name推荐使用 脚本本身没有执行权限及文件x位为-

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com