首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Bash shell中bashsh、source及“.”的区别与联系

在众多Linux发行版中bash shell 可谓是随处可见。作为众多发行版的首选shell,对于bash shell的学习对我们来说,显得格外重要。...查看shell的历史我们可以知道,我们通常所说的bash shell(bash)全称为GNU Bourne-Again SHell。在目前的发行版中,sh已经成为bash的一个软连接。...三、具体探讨这几种执行方式的区别与联系 bashsh执行a.shb.sh [Geeklp@Geeklp-BashShell ~]$ bash a.sh My name is Geeklp .I am...加了权限之后,执行效果与bashsh一致,不继承变量。 四、结论 bashsh在对于脚本执行来说,效果一致,不继承除了当前shell之外的变量值。...[root@Geeklp-BashShell ~]# bash --posix bash-4.2# 在上文中,我们能够看到shbash的一个软连接,但是单独输入bashsh命令时,所呈现的效果却不一致

76710

在当前bash(sh)中执行脚本注册函数

在研究《管理Python虚拟环境的脚本》时,我们使用了source指令而没有使用sh或者bash来执行脚本,就是因为source指令可以让脚本在当前bash(sh)中执行;而sh或者bash则会新启动一个...我们可以通过下面这个脚本做测试 # test.sh # 用一个数组保存进程ID进程名 processInfo=() # 查找父进程的进程号 findParentID() { if [ $1...bash test.sh $$ processInfo: 45322 bash 40883 bash 当前bash的进程ID是40883,新启动的bash的进程ID是45322。...所以如果我们希望脚本对当前bash有所影响,就要使用source去执行脚本;如果不希望影响当前bash,则可以使用bash或者sh去执行。 需要注意的是,bash并不等价于sh。...主要目标是与POSIX标准保持一致,同时兼顾对sh的兼容,是各种Linux发行版标准配置的Shell。比如上面test.sh使用bash可以正确执行,而sh执行就会报错。

12610

Linux .sh文件

Linux是一套免费使用自由传播的类Unix操作系统,是一个基于POSIXUNIX的多用户、多任务、支持多线程多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序网络协议。...它支持32位64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。linux中.sh文件是什么?linux中.sh文件是脚本文件,一般都是bash脚本。...想运行的话就用sh命令运行sh xxx.sh。注:sh或是执行脚本,或是切换到sh这个bash里,默认的shell是bash。...当然,linuxsh是链接到bash上的,所以shbash在功能上是没有区别的。...还有就是在执行脚本的时候是用sh + 脚本名的方式来执行,其实,大部分的时候,简单脚本只要权限设置正确,可以直接执行,不需要sh命令的。

9.2K20

升级linux bash

bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu) Copyright (C) 2009 Free Software Foundation,...There is NO WARRANTY, to the extent permitted by law. 3)Linux Bash严重漏洞修复紧急通知(2014年9月25日更新) 日前Linux官方内置...Bash中新发现一个非常严重安全漏洞,黑客可以利用该Bash漏洞完全控制目标系统并发起攻击,为了避免您Linux服务器受影响,建议您尽快完成漏洞修补,修复方法如下: 漏洞检测方法 可以使用如下命令来检查系统存在此漏洞...: env x='() { :;}; echo vulnerable' bash -c "echo this is a test" 如果在一个含有版本号小于bash 4.3的linux或者unix系统上执行以上命令...6)升级bash bash下载地址:http://ftp.gnu.org/gnu/bash/ 安装升级bash wget http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz

5.4K90

Bash shell中bashsh、source及“.”点等五种执行方式的区别与联系

欢迎转载,转载请注明出处,谢谢 在众多Linux发行版中bash shell 可谓是随处可见。作为众多发行版的首选shell,对于bash shell的学习对我们来说,显得格外重要。...查看shell的历史我们可以知道,我们通常所说的bash shell(bash)全称为GNU Bourne-Again SHell。在目前的发行版中,sh已经成为bash的一个软连接。...三、具体探讨这几种执行方式的区别与联系 bashsh分别执行a.shb.sh [Geeklp@Geeklp-BashShell ~]$ bash a.sh My name is Geeklp .I...加了权限之后,执行效果与bashsh一致,不继承变量。 四、结论 bashsh在对于脚本执行来说,效果一致,不继承除了当前shell之外的变量值。在无空格“.”...[root@Geeklp-BashShell ~]# bash --posix bash-4.2# 在上文中,我们能够看到shbash的一个软连接,但是单独输入bashsh命令时,所呈现的效果却不一致

2.9K10

Linux系统安全 | Linux中的ShellBash

我们学习linux时,经常会遇到bashbash也是指的是某个服务器的权限。那么,这两者有什么区别联系呢?...所以,我们就不难理解Linux中的shell有多种类型了吧,这其中最常用的几种是 Bourne shell(sh)、Bourne Again shell(bash) Debian Almquist...Bash放在/bin/bash 中,它有许多特色,可以提供如命令补全、命令编辑命令历史表等功能,有灵活强大的编程接口,同时又有很友好的用户界面。...而且在Redhat系列的Linux 操作系统中的 /bin/sh 是 /bin/bash 的符号链接。所以,用 sh执行脚本bash 执行脚本,效果是一样的。所以我们通常会在脚本第一行写 #!...但是鉴于bash过于复杂,有人把bash从NetBSD移植到Debian Linux并更名为 dash (Debian Almquist Shell),并建议将/bin/sh指向它,以获得更快的脚本执行速度

2.9K10

Linux系统安全 | Linux中的ShellBash

我们学习linux时,经常会遇到bashbash也是指的是某个服务器的权限。那么,这两者有什么区别联系呢?...所以,我们就不难理解Linux中的shell有多种类型了吧,这其中最常用的几种是 Bourne shell(sh)、Bourne Again shell(bash) Debian Almquist...而且在Redhat系列的Linux 操作系统中的 /bin/sh 是 /bin/bash 的符号链接。所以,用 sh执行脚本bash 执行脚本,效果是一样的。所以我们通常会在脚本第一行写 #!...但是鉴于bash过于复杂,有人把bash从NetBSD移植到Debian Linux并更名为 dash (Debian Almquist Shell),并建议将/bin/sh指向它,以获得更快的脚本执行速度.../bin/sh”,则我们使用命令:sh script_name.sh 时是调用的dash去解释脚本;Debian下默认使用的还是bash,只不过sh指向的是dash tty 、pty pts

1.6K20

Linux 学习记录 四(Bash Shell scirpt).

狭义的shell指的是指令列方面的软件,包括基本的Linux操作窗口Bash等,广义的shell则包括 图形接口的软件,因为图形接口其实也可以操作各种驱动程序来呼叫核心进行工作。        ...执行:  1、直接绝对路径相对路径执行,执行者必须要有脚本的执行权限。...2、全局变量的话 可以通过 bash shell.shsh shell.sh来执行 source、 sh script 的执行方式差异?    ...sh script 或者 bash script 都会使用一个新的bash环境来执行脚本中的命令,当子程序完成后,子程序完成后,在子程序内的各个变量或者动作将会结束而不会传回父程序中     source...注意点:传统语言不同,函数必须定义在脚本最前面,以便程序执行的时候可以认识函数。

1.2K40

通用的进程监控重拉起bash脚本process_monitor.sh

/bin/sh # https://github.com/eyjian/mooon/blob/master/common_library/shell/process_monitor.sh # #...# 请放到crontab中运行,如(注意要以后台方式运行,因为脚本是常驻不退出的): # * * * * * /usr/local/bin/process_monitor.sh /usr/sbin/rinetd...总是只针对属于当前用户下的进程 # # 如果本脚本手工运行正常,但在crontab中运行不正常,则可考虑检查下ps等命令是否可在crontab中正常运行 # 实际中,遇到脚本在crontab中运行时,找不到lsps...等命令 # 原来是有些环境lsps位于/usr/bin目录下,而不是常规的/bin目录 export PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin...usr/sbin/rinetd\" \"/usr/sbin/rinetd\"\033[m\n"     printf "\033[1;33mplease install process_monitor.sh

1.1K10
领券