sh或是执行脚本,或是切换到sh这个bash里,默认的shell是bash,你可以试试tcsh啊,csh啊,ksh,zsh什么的,看看别的shell是什么样子的。当然,linux中sh是链接到bash上的,所以sh与bash在功能上是没有区别的。
还有就是在执行脚本的时候是用sh
+
脚本名的方式来执行,其实,大部分的时候,简单脚本只要权限设置正确,可以直接执行,不需要sh命令的
B. linux ./a.sh 命令 与sh a.sh的区别是什么
linux ./a.sh 命令 与sh a.sh的区别为:可执行属性不同、执行方式不同、兼容性不同。
一、可执行属性不同
1、./a.sh 命令:./a.sh 命令的文件必须具有可执行属性。
2、sh a.sh命令:sh a.sh命令的文件不必具有可执行属性。
二、执行方式不同
1、./a.sh 命令:./a.sh 命令使用脚本中第一行所指定的命令来解释和执行文件。
2、sh a.sh命令:sh a.sh命令使用shell工具的SH脚本直接解释和执行文件。
三、兼容性不同
1、./a.sh 命令:./a.sh 命令的兼容性比sh a.sh命令更好,不受限于shell工具。
2、sh a.sh命令:sh a.sh命令的兼容性比./a.sh 命令更差,受限于shell工具。
C. linux中.sh脚本文件中命令的执行顺序
每条命令后如果不加&的话就是依次一行一行的顺序执行,只有前面一行执行完成后再执行下一行,如果希望多个命令在一个shell内执行可在一行写入多条命令,用&&符号间隔
D. linux执行sh脚本的指令有哪些
bash shell 脚本的方法有多种,现在作个小结。假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。
方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:
复制代码代码如下:
cd /data/shell
./hello.sh
./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。
方法二:以绝对路径的方式去执行bash shell脚本:
复制代码代码如下:
/data/shell/hello.sh
方法三:直接使用bash 或sh 来执行bash shell脚本:
复制代码代码如下:
cd /data/shell
bash hello.sh
或
复制代码代码如下:
cd /data/shell
sh hello.sh
注意,若是以方法三的方式来执行,那么,可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。因为方法三是将hello.sh作为参数传给sh(bash)命令来执行的。这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限。那么不用指定bash路径自然也好理解了啊,呵呵……。
方法四:在当前的shell环境中执行bash shell脚本:
复制代码代码如下:
cd /data/shell
. hello.sh
或
复制代码代码如下:
cd /data/shell
source hello.sh
前三种方法执行shell脚本时都是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。而方法四则是在当前shell中执行的。
E. Mac下建立.sh脚本文件
首先我们需要建立一个脚本文件,可以用文本编辑器或者其它工具碰手(如VS Code)建立,注意保存为.sh格式。如,建立一个名为test1的.sh文件:test1.sh。在文件中我们可以写一段最简单的命令:echo Hello World!!!
二、赋予脚本可执行的权限
1、进入Mac终端
2、进入test1.sh文件所在的目录,cd 空格,拖拽文件到终端,然后删除 /文件名 即可
3、赋予脚本可执行权源吵或限雹伍,输入命令:chmod +x test1.sh 回车
F. Linux 脚本 sh 和 ./ 的区别
区别只有一点:
sh表示脚本默认使用sh脚本解释器。
未指定脚本解释器默认为 ./。
具体解释:
使用“./”执行脚本,对应的xxx.sh脚本必须要有执行权限。
使用“sh” 执行脚本,对应的xxx.sh没有执行权限,亦可执行。
当脚本开头使用#!设置使用的shell类型时,使用“./”执行脚本时,则使用“#!”标志的shell执行脚本;若无使用“#!”标记,则使用系统设置的默认shell执行脚本。
(6)sh脚本命令扩展阅读:
举例:
登录用户root查看权限:
-rwx—— 1 root root
执行这个shell脚本 :
./test 成功。
sh test 成功。
去掉执行权限x:
-rw——- 1 root root 17 2011-09-22 23:33 test
执行这个shell脚本。
./test 失败 (-bash: ./test: Permission denied)。
sh test 成功。
G. sh代表什么意思
1.sh是linux中运行shell的命令,是shell的解释器,shell脚本是linux中壳层与命令行界面,用户可以在shell脚本输入命令来执行各种各样的任务。
要运行shell脚本,首选需要给shell脚本权限,这颤缺里里以hello.sh文件为例,首先需要按下“crtl+shift+T”打开终端窗口:
(7)sh脚本命令扩展阅读
使用用户的缺省凭证和环境执行 shell。
在UEFI环境下,EFI的Shell环境提供了一组丰富的扩展和增强的命令,在以后的计算机中,传统的DOS界面将会被SHELL环境所取代。
所有的.exe文件将不会在以后支持SHELL的环境中出现,取而代之的文件后缀是.efi。在SHELL环境下,分为IA32和X64,32位的*.efi文件不能在X64的计算机中运行。
H. Mac OS 终端运行.sh脚本
1、编辑脚本文件。例如 test.sh 保存到 /Users/电脑用户名/Documents 目录下。内容:
echo "hello";
2、打开终端,运行 cd /Users/电脑用户名/Documents 进入目录;
3、直接运行 test.sh;
如果迅源雀提示 -bash: test.sh: command not found 错误,设置 PATH :
export PATH=$PATH:/Users/电脑用户名/Documents
有时候也会提示 -bash: test.sh: No such file or directory,同样运行签名的命令,设置PATH即可解决;
再次运行,在控制裂野台就能看到 hello 了!
如果还不行,试试 chmod u+x test.sh 提升文件权限后,再运行脚本亩早。