当前位置: 首页 > Linux

shell脚本的执行方法

时间:2023-04-06 03:03:11 Linux

1、直接执行文件名,文件名必须有路径。如果不在PATH指定的目录下,否则系统找不到该文件。如果没有路径,它必须在PATH指定的目录中。使用绝对路径+shell文件的方式要求文件具有rx权限,例如:/home/aliao/test.sh使用相对路径+shell文件名的方式要求文件具有rx权限,例如:./test.sh直接使用shell文件名的方法要求文件必须在PATH指定的目录下,并且有rx权限。例如:test.sh必须在shell文件的第一行以#!/bin/bash或sh的形式指定这个脚本使用哪个shell执行。如果指定,当直接使用文件名执行时,将使用指定的shell执行脚本。否则,使用用户登录时获取的shell执行脚本。**而如果脚本在bash+test.sh等中执行,则优先指定shell执行脚本。**其二,bash或者sh+文件名的方法此时不需要文件有x权限,只要有r权限就可以执行。例子:bashtest.shorbash./test.shorbash/home/aliao/test.shtips以上两种执行脚本的方式有一个共同点,就是系统会打开一个新的shell来执行。脚本中定义的变量等不能在父shell中访问。当我们执行完脚本回到当前命令行(父shell)后,我们无法访问脚本中定义的相关变量值等。3.使用source执行脚本sourcetest.sh或./test.sh或/home/aliao/test。sh这个方法会在当前shell下执行脚本,而不用打开一个新的shell。因此,对于一些系统设置的脚本,如果不想重启shell,可以使用source将相关配置重新加载到当前shell中,这样新的配置会立即生效。这样执行脚本即使脚本没有x权限只有r权限也能执行成功。