当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录:这时就想到用source命令,如:source /etc/profile对source进行了学习,并且用它与sh 执行脚本进行了对比,现在总结一下. source命令:source命令也称为“点命令”,也就是一个点符号(.),是bash的内部命令.功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录.用法:source…
用户登录到Linux系统后,系统将启动一个用户shell,我们暂且称这个shell为shell父. 在这个shell父中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序. 当使用sh或者bash运行shell脚本程序时,系统将创建一个子shell,我们暂且称为shell子. 此时,系统中将有两个shell,一个是登录时系统启动的shell父,另一个是系统为运行脚本程序创建 的shell子.当一个脚本程序运行完毕,脚本shell子将终止,返回到执行该脚本之前的shell父.…
一.格式 1.1 开头 必须以 "# !/bin/bash"  开头,告诉系统这是一个bash shell脚本.注意#与!中间有空格. 二.语法 2.1 数值运算 可以用declare -i声明为数值类型,也可以用 var = $((数值运算)),注意是两个括号 2.3 善用判断式 2.3.1 test命令 test命令可以测试,可以利用测试的结果走后续流程.测试文件和文件属性还是比较方便的. :~/test$ test -e nofile && echo "…
shell中使用source conf.sh,是直接运行conf.sh的命令,不创建子shell,类似与html中include,而sh是则创建子shell, 子shell里面 的变量父shell无法使用,对环境变量的修改也不影响父shell.父shell中的局部变量,子shell也无法使用, 只有父shell的环境变量, 子shell能够使用.还有一个exec conf.sh,这个与source类似,区别是exec执行完,不再执行后面的语句.   source命令的作用就是用来执行一个脚本,那…
Shell简介 Shell是一个命令解释器,它是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务.Shell在操作系统的最外层,负载直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕并返回给用户.这种对话方式可以是交互的方式(从键盘输入命令,可以立即得到shell的回应),或非交互式(执行脚本程序)的方式. Shell Shell 既是一种命令语言…
简单的 shell script 练习 简单范例 对谈式脚本:变量内容由使用者决定 [root@www scripts]# vi sh02.sh #!/bin/bash # Program: # User inputs his first name and last name. Program shows his full name. # History: # 2005/08/23 VBird First release PATH=/bin:/sbin:/usr/bin:/usr/sbin:/u…
目标 实现记录SHELL执行的開始时间,结束时间.执行状态,错误信息等,以函数封装日志记录的方式,脚本调用函数 源代码 通用函数脚本program_log_new.sh function init_log() { sqlplus -S test/passw0rd@orcl <<EOF insert into program_log values($id,$day,'$1', sysdate,null,'S',null); commit exit EOF } function modify_st…
和 Shell 的区别 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁. Shell 即是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一些命令,用户可以通过这些命令去访问操作系统内核的服务. Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的 Shell. Shell 在线工具 Shell 脚本,是一种为 Shell 编写的脚本程序,类似 Windows 的 ba…
主要有两种方式运行shell脚本 1)source test.bsh 2)sh test.bsh 1)souce运行脚本文件会在父程序中运行.各项动作都会在原本的bash内生效.运行过程不另开进程.脚本文件里设定的变量在当前shell中能够看到: 例如以下样例: 当中sh文件内容例如以下: 就是通过read命令从命令行中读取两个字符串firstname和lastname,作为一个完整的人名最后在屏幕上输出.source运行该文本文件时正确输出,source还能够用"."直接替换: so…
(一)首先来看shell脚本的执行方式,shell脚本的后缀名都是sh文件. 1 sh test.sh 2 source test.sh 这两种方式有什么区别呢.test.sh 里的脚本很简单, 从键盘输入名字后赋值个name变量 read -p “Please input your name:” name 执行如下 root@zhf-linux:/home/zhf/zhf/shell_prj# sh test1.sh please input your name:zhf root@zhf-li…
1.source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令.该filename文件可以无"执行权限" 注:该命令通常用命令“.”来替代. 如:source .bash_profile . .bash_profile两者等效. source(或点)命令通常用于重新执行刚修改的初始化文档. source命令(从 C Shell 而来)是bash shell的内置命令. 点命令,就是个点符号,(从Bourne Shell而来).…
原文地址:http://blog.csdn.net/caesarzou/article/details/7310201 source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令.该filename文件可以无"执行权限" 注:该命令通常用命令“.”来替代. 如:source .bash_profile . .bash_profile两者等效. source(或点)命令通常用于重新执行刚修改的初始化文档. source命令(从 C…
一.在命令行窗口执行shell脚本时,source .所执行的脚本中,变量的作用域在当前shell窗口期,而bash.sh在shell脚本执行完了就失效了. dream361@master:~$ cat test.sh user='pwd' 当前的脚本内容 dream361@master:~$ bash test.sh 用bash执行 dream361@master:~$ echo $user 结果为空 dream361@master:~$ . test.sh 用 source 或 执行 dre…
exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell的命令分为两类:外部命令和内部命令.外部命令是通过系统调用或独立的程序实现的,如sed.awk等等.内部命令是由特殊的文件格式(.def)所实现,如cd.history.exec等等. 在说明exe和source的区别之前,先说明一下fork的概念. fork是linux的系统调用,用来创建子进程(child…
source.sh.bash../执行脚本的区别  原文:https://www.cnblogs.com/sparkbj/p/5976100.html 1.source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令.该filename文件可以无"执行权限" 注:该命令通常用命令“.”来替代. 如:source .bash_profile . .bash_profile两者等效. source(或点)命令通常用于重新执行刚修改的初…
shell脚本中的变量: local一般用于局部变量声明,多在在函数内部使用. shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止. shell函数定义的变量默认是global的. 函数定义的变量可以被显示定义成local的,其作用域局限于函数内. 函数的参数是local的. 如果同名,shell函数定义的local变量会屏蔽脚本定义的global变量. source.sh../的区别 sh filename.sh与./filename…
首先我们知道我们执行shell有这么几种方法 1. sh/bash使用其内置的命令集来执行一些命令,例如如下 sh demo.sh bash demo.sh 2. 使用./或者/$SHELLPATH/*.sh的方式执行 ./demo.sh /home/vagrant/shell/test.sh 采用上面的方法的话需要将该方法设置为有执行权限才能执行 3. 采用source shell.sh或者. shell.sh方法执行 source demo.sh . demo.sh 这三种方法的区别 1.文…
介绍 Shell脚本编程30分钟入门 Shell 教程 Linux 的 Shell 种类众多,常见的有: Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell(/bin/bash) C Shell(/usr/bin/csh) K Shell(/usr/bin/ksh) Shell for Root(/sbin/sh) …… getopt:命令行选项.参数处理 在Shell脚本中执行语法检查调试模式 10 个写出高效可靠的 bash 脚本的实用技…
在CentOS7下,有如下脚:sh02.sh. 1 用sh或者bash执行 先执行echo $firstname $lastname 再执行 sh sh02.sh 最后执行 echo $firstname $lastname 2 用source执行 先执行  echo $firstname $lastname 再执行 source sh02.sh 最后执行  echo $firstname $lastname 结论:使用sh 执行shell文件时,是在父进程的bash下新建了一个子进程,sh02…
一.添加sheel脚本 1.首先创建一个执行程序:vim a.sh 2.编辑: #!/bin/bash  python3  python.py >> test2.log 2>&1 3.添加权限:chmod +x ./a.sh  4.查看执行结果: ./a.sh 二.添加定时任务 安装:apt-get install cron   (服务器环境下默认都会安装) 1.crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建. 2.crontab –l : 显示…
1. 本地变量和环境变量 变量类型 定义形式 声明位置 显示命令 作用域 本地变量 VARNAME=value 命令行或shell脚本 set (显示所有变量) 本用户,本进程 环境变量 export VARNAME=value ~/.bash_profile (当前登陆用户有效)/etc/profile (所有登陆用户有效) env(仅显示环境变量) 所有用户所有进程 2. 脚本调试 法一 #!/bin/bash -x 法二 set -x 要调试的几行代码 set +x 3. 退出状态 exi…
一.shell script的编写与执行 1.shell script 的编写中还需要用到下面的注意事项: a.命令的执行是从上到下,从左到右地分析与执行 b.命令.参数间的多个空白都会被忽略掉 c.空白行也将被忽略掉, 并且[tab]按键所得的空白同样视为空格键  d.如果读取到一个Enter符号(CR),就尝试开始执行该行(或该串)命令 e.至于如果一行的内容太多,则可以使用"\[Enter]"来扩展至下一行  f."#"可作为批注. 2.执行文件(/home/…
这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script ##转载注明出处:http://www.cnblogs.com/wade-xu/p/4378224.html 部门用持续集成已经很久了,但其实使用起来还是很麻烦的,每当要给一个新项目set up持续集成的环境,虽然是Copy一些现有的jobs, 但是许多参数,变量需要去改,然后还有调试,少说3,4天搞一下,非常不方便. 最近比较空,就把现有的持续集成系统升级改造下,job用一套模板,全部参数化,只要修改配置…
A chain no stronger than its weakest link. "一着不慎,满盘皆输" 参考资料:鸟哥的Linux私房菜 基础学习篇(第三版)  Linux Shell脚本攻略     Linux程序设计(第四版) 一.什么是shell script 1.什么是shell script 简单来说,shell script(程序化脚本)是利用shell功能所写的一个“程序”,它拥有自己的语法特性 2.为什么要学shell script 对于一个初学者来说,我觉得就那…
在linux里,source.sh.bash../都可以执行shell script文件,那它们有什么不同吗? ----------- 1.source source a.sh 在当前shell内去读取.执行a.sh,而a.sh不需要有"执行权限" source命令可以简写为"." . a.sh 注意:中间是有空格的. 2.sh/bash sh a.sh bash a.sh 都是打开一个subshell去读取.执行a.sh,而a.sh不需要有"执行权限&q…
菜鸟教程Shell script学习笔记(下) 以下内容是学习菜鸟教程之shell教程,所整理的笔记 菜鸟教程之shell教程:http://www.runoob.com/linux/linux-shell.html Shell流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])){ search(q); } else { //不做任何事情 } #在sh/bash里不可以这么写,…
add by zhj: 主要不同是,source是在当前shell中执行脚本,而sh, bash, ./是在当前shell的child shell中执行脚本 原文:http://www.cnblogs.com/pcat/p/5467188.html 在linux里,source.sh.bash../都可以执行shell script文件,那它们有什么不同吗? ----------- 1.source source a.sh 在当前shell内去读取.执行a.sh,而a.sh不需要有"执行权限&q…
由于博客园中dollar符号有别的意义,所以文中的dollar符号使用¥表示 第一个script [root@localhost script]# cat -n sh01.sh #!/bin/bash #Program: #This program shows "Hello World!" in your screen. PATH=/usr/local/java/jdk1..0_91/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sb…
shell Script学习笔记 <鸟哥的Linux私房菜 3rd Edition>: @1:若变量内容中包含空格字符,则可使用双引号"或单引号'将变量内容结合起来,但不同的是: #1:双引号内的特殊字符(如 $ 等),会保有原本的特性: var="lang is $LANG" echo $var 可得lang is en_US #2:单引号内的特殊字符则仅为一般字符 (纯文本): var='lang is $LANG' echo $var 可得lang is $…
一 什么叫shell script (程序化脚本)? shell script 是利用 shell 的功能所写的一个 “程序”(program),这个程序是使用纯文本文件,将一些 shell 的语法与命令(含外部命令)写在里面,搭配正则表达式,管道命令与数据流重定向等功能,以达到我们所想要的处理目的. 而且,shell script 更提供数组,循环,条件与逻辑判断等重要功能,让用户也可以直接以 shell 来编写程序,而不必使用类似C程序语言等传统程序编写的语法. shell script 可…