linux 用shell写脚本

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_17448289/article/details/59484392

参考:

  1. 编写你的shell其实很简单
  2. 2.

shell介绍

  • 在linux系统的层次组织结构中,shell是一个重要的组成部分。shell是用户与linux系统内核进行联系的桥梁,linux通过shell界面,接受用户的请求,利用系统的资源,为用户提供服务。根据shell的调用方式,linux系统的shell主要分为交互式注册shell、交互式非注册shell及非交互式shell这3种。
  • 如果调用方式不同,shell的初始化过程也不同。交互式注册shell利用/etc/profile和/etc/bash.bashrc文件以及用户主目录中的~/.profile等初始化文件(或称启动文件),设置用户的运行环境。
  • 在shell命令提示符下输入sh或者bash等命令,将会进入交互式非注册shell(可以看作当前shell的子shell)。此时,shell将会读取并执行/etc/bash.bashrc和~/.bashrc等初始化文件,同时还会继承注册shell利用初始化文件设置的各种环境变量。
  • linux操作系统中的shell既是一个命令解释程序,也是一种强有力的编程语言。作为操作系统内核与用户之间的一个交互界面,shell可以解释执行用户输入的linux命令,可以执行I/O重定向,提供管道、元字符匹配以及文件名生成等功能。
  • 使用shell脚本前应首先利用 chmod +x 脚本名字 命令,使shell脚本具有可执行的权限,然后再运行。
  • 简单讲,shell脚本就是就是一种包含若干个linux命令或可执行程序的文本文件。

运行shell脚本

运行shell脚本有两种执行方式。
- sh或者bash等命令 (不建议使用)
- chmod (建议使用)

注意,比如写好的shell脚本名位scriptname,若以sh scriptname方式调用shell脚本可能会禁止shell的部分扩充功能,因而引起shell脚本无法正确地执行

所以,我们建议使用chmod命令执行shell脚本。

  1. 首先应用chmod命令将shell脚本文件设置为可执行文件:(scriptname为shell脚本名)
#以下3种方式
chmod 755 scriptname   #只有文件属主可以读、写、执行,其他用户只能读与执行
chmod a+rx scriptname  #增加任何用户读、执行的权限
chmod u+rx scriptname  #仅增加文件属主的读、执行的权限

2.执行shell脚本

#以下2种方式
scriptname       #若命令搜索路径包含当前目录
path/scriptname 或者 ./scriptname   #若命令搜索路径不包含当前目录

在测试和调试最终完成后,也可以把shell脚本当做一个工具,移至某个公用的用户命令目录,比如:/usr/local/bin目录中,使所有的用户均可访问新增的shell脚本。

退出与出口状态

当一个命令或进程终止运行时,将会自动向父进程或shell返回一个出口状态,一个命令或者shell脚本正常终止时应返回0,运行有误时可返回1-255范围内的整数值。利用“exit [n]”命令终止shell脚本运行。n=0-255。
shell内部变量$?的值表示函数中实际执行的最后一条命令的出口状态。

猜你喜欢

转载自blog.csdn.net/qq_17448289/article/details/59484392
今日推荐