zoukankan      html  css  js  c++  java
  • bash shell执行、排错、启动配置文件

    一 执行bash shell的方法:
    (1)进入shell script所在的目录:cd /root/tmp,执行./test.sh

    (2)以绝对路径方式执行shell script: /root/tmp/test.sh

    (3)直接使用bash 或者 sh执行script: cd /root/tmp   bash test.sh 或者 sh test.sh 或者 bash /root/tmp/test.sh

    (4)在现行的shell中执行: . /root/tmp/test.sh 或者 source /root/tmp/test.sh
    其中,方法(1)(2)需要设定script的执行权限: chmod +x test.sh 或者 chmod 755 test.sh;方法(3)(4)无需此步。 方法(1)(2)(3)执行时,现行的shell会开启一个子shell,这个子shell执行用户的script,执行完毕,此子shell随机关闭,回到现行的shell中;方法(4)是在现行的shell中直接运行script,但这种方式会影响父shell的环境,通常在系统调教时才使用。 方法(4)注意. 和/之间要有空格!


    二 Bash Script排错: bash -x test.sh: 执行script时输出命令和它们的参数,追踪script的执行; bash -n test.sh: 读取命令但不执行; bash -v test.sh: 读取命令并打印;
    帐号的用户组,主目录位置,默认shell放在文件 /etc/passwd中,加密后的密码放在/etc/shadow中。
    ps axf:查看内存中各进程的层级关系; echo $SHLVL:查看目前位于第几层shell中; exit:退出本层shell;


    三 bash shell的启动配置文件: bash的5种运行模式:互动模式/非互动模式(执行script)/以sh名称调用/posix模式/限制功能模式。 1 登录:login shell(即bash)先执行/etc/profile,接着依次检查用户的主目录是否包含.bash_profile,.bash_login,.profile,如果其中一个存在,则读取并执行之。 2 注销:bash会检查主目录中是否有.bash_logout,有,则读取并执行之。 3 执行新shell: (1)执行交互式的shell:读取并执行/etc/bash.bashrc,以及主目录中的.bashrc (2)执行shell script:检查BASH_ENV变量的内容,如果有定以,则执行该变量所定义的启动文件的内容。 4 以sh文件名调用bash: 以sh调用bash,则bash将仿照旧版的sh调用启动文件,会尽量兼容POSIX标准,而不使用bash特有的功能: (1)login shell 调用/bin/sh: 读取并执行/etc/profile和主目录中的.profile (2)交互式shell: 检查ENV变量的内容,如果有定以,则执行该变量所定义的启动文件的内容。 (3)shell script:不执行任何启动配置文件。 5 以bash --posix方式执行: bash兼容排POSIX,检查ENV变量的内容,如果有定以,则执行该变量所定义的启动文件的内容。 6 执行bash -r 或者 rbash:称为受限模式,bash功能受限,如不能用cd指令,不能设定或取消环境变量,不能做转向传输等, 目的时让登录者只能有少数的功能,建立安全shell环境。此时bash会读取执行主目录中的.bashrc配置文件。

  • 相关阅读:
    【python cookbook】【数据结构与算法】12.找出序列中出现次数最多的元素
    [转]ASP.NET MVC 5
    [转]ASP.NET MVC 5 学习教程:快速入门
    Using XSLT and Open XML to Create a Word 2007 Document
    如何在VS2010中更好的编写JavaScript代码
    [转]这五种方法前四种方法只支持IE浏览器,最后一个方法支持当前主流的浏览器(火狐,IE,Chrome,Opera,Safari)
    [转]C# 超高速高性能写日志 代码开源
    windows 2003 发布遇到问题---分析器错误消息: 未能加载类型“YWPT.MvcApplication”。
    将Oracle数据库转换为SQL Server
    SQLServer2008导出表数据为SQL脚本
  • 原文地址:https://www.cnblogs.com/google4y/p/2415351.html
Copyright © 2011-2022 走看看