"source"和"."的功能是一样的,可以调用脚本,并将脚本里的函数也传递到当前的脚本或者解释器中,即不会开启新的bash而是在当前bash中运行. "sh"后面跟脚本名称,则不会将该脚本的函数传递进来,即需要开启新的bash,"sh"实际上是执行一个脚本,最后执行完毕会将内存释放掉,不会保存变量. 而"."和"source"则不会新的bash进程,这就是为什么在/etc/init.d…
这里演示如何使用 salt-master 对多台 salt-minion 批量执行脚本,步骤如下: [root@localhost ~]$ cat /srv/salt/top.sls # 先定义入口配置文件 base: '*': - exec_shell [root@localhost ~]$ cat /srv/salt/exec_shell.sls # 定义要加载的sls文件 exec_shell: # exec_shell只是一个标识,方便我们查看这个文件的作用 cmd.script: #…
from: http://blog.csdn.net/david_xtd/article/details/8012627 问题: 有很多方式可以执行脚本, 1).source test.bsh 2).. test.bsh 3).chmod a+x test.bsh;./test.bsh 4).sh test.bsh 它们之间的差别是什么? 解决办法: 1. source命令的作用是读取并执行test.bsh中的命令: 该命令经常用点命令“.”来替代. 就是说, # source test.bsh…
公司有上百台服务器,需要为每台服务器都执行一个脚本,因为所有服务器的账号密码都是一样的,所以可以不用搭建ansible等自动化运维工具,我们直接通过SSH远程执行即可完成. 本文以三台服务器为例,系统版本:CentOS7.31.安装sshpasscd /etc/yum.repos.d/wget http://download.openSUSE.org/repositories/home:Strahlex/CentOS_CentOS-6/home:Strahlex.repoyum install…
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编程的时候,往往不会把所有功能都写在一个脚本中,这样不太好维护,需要多个脚本文件协同工作.那么问题来了,在一个脚本中怎么调用其他的脚本呢?有三种方式,分别是fork.source和exec. 1. fork 即通过sh 脚本名进行执行脚本的方式.下面通过一个简单的例子来讲解下它的特性. 创建father.sh,内容如下: #!/bin/bash echo "父shell进程开始执行"…
原因:脚本文件是在Windows环境下编辑的,windows环境下,每一行的结尾是\n\r,而Linux环境下,每一行结尾是\n.使用cat  -A  filename 可以看到每行的结尾后面多出了一个^M,如图 ^M符号则是每一行多出来的\r的显示. 解决方法:执行命令 sed -i 's/\r$//' filename [bhsoft@localhost 桌面]$ sed -i 's/\r$//' test.sh 执行完命令之后再次查看脚本文件,发现没有^M符号了,就可以执行脚本了.…
在Linux中执行.sh脚本,异常/bin/sh^M 在linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息. 解决:1)在windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行.转换方式如下(UltraEdi…
执行脚本时提示解释器有问题,错误提示如下: 这种提示一般是脚本在windows系统之通过记事本写的,记事本修改过的文本,会默认在文本前面加上一些看不到的标记,导致shell脚本不能被shell解释器识别,就会爆出这个错误. 这种错误只能替换shell脚本或者重写,不建议用记事本写脚本. 这里我直接使用改脚本的原稿(备份)替换后恢复正常.…
下面针对的是非ubuntu环境,会在文章末尾介绍ubuntu的一些区别. 在Linux下,经常需要定期的执行一些脚本从而来实现一些功能. 在Linux下我们用crontab来实现定期的执行脚本这个功能,下面就介绍一下crontab的使用.以及我遇到的一些问题 一. crontab的使用说明 1. crond 是linux用来定期执行程序的命令.当安装完成操作系统之后,默认便会启动此任务调度命令.crond命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作.而linux任…