linux中如何执行脚本?

author author     2023-04-23     318

关键词:

"首先脚本需要有执行权限:chmod u x file.sh;执行脚本有三种方法:1. ./file.sh:特点:开启bash子进程来执行,也就是开启额外的进程来进行,不影响原进程的变量、配置等2. bash file.sh特点:和./file.sh相同
3. source file.sh 或者 . file.sh 特点:在原bash进程中执行脚本。第三种方法主要用于在脚本中切换用户su、切换目录cd等命令。source 和 . 命令是相同的。你可以搜索 source
补充,如何查看脚本运行是否开启了bash子进程vim file.sh写入#!/bin/bash;#echo $$命令会输出bash进程ID;echo $$;保存并赋予可执行权限chmod u x file.sh;在你的shell中输入,echo $$ 屏幕输出4176;./file.sh 屏幕输出3600;bash file.sh 屏幕输出3984;source file.sh 屏幕输出4176 和 你直接在shell中输出的一样,说明是在同一个bash进程,另外你是感兴趣的话可以看下刘遄老师写的《Linux就该这么学》作为入门的书籍,觉得不错的话采纳下哦
"
参考技术A ash 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中执行的。

linux中如何执行脚本?

...cd等命令。source和.命令是相同的。你可以搜索source补充,如何查看脚本运行是否开启了bash子进程1.vimfile.sh2.写入#!/bin/bash#echo$$命令会输出bash进程idecho$$3.保存并赋予可执行权限chmodu+xfile.sh4.在你的shell中输入,echo$$屏幕输出41765../fil... 查看详情

linux脚本如何一键授权并执行

在当前路径下输入rchmod777脚本名r给脚本授权,r然后就可以执行脚本r./脚本名rr777是最高权限,有读、写、执行权限;和属组用户和其他用户的读、写、执行权限。r其他权限分别是r-rw-------(600)--只有读写权限。r-rw-r--r--(644)--只有... 查看详情

如何编写将在 Linux 终端上执行命令的 Lua 脚本?

】如何编写将在Linux终端上执行命令的Lua脚本?【英文标题】:HowcanIwriteaLuascriptthatwillexecuteacommandontheLinuxterminal?【发布时间】:2021-10-2011:22:21【问题描述】:我正在编写脚本,我了解Lua的基础知识,但我不知道如何使用Lua在Linux... 查看详情

linux下如何运行sql脚本

Linux运行sql脚本的具体操作步骤如下:1、使用shell工具登陆到安装postgresql的服务器,切换到postgres用户,postgresql默认的操作用户,命令是:su-postgres,查看当前路径是/var/lib/psql,创建一个test.sql脚本文件,命令是:vimtest.sql。2、s... 查看详情

如何在 Eclipse 中启动 gdb 调试之前运行 linux 脚本

】如何在Eclipse中启动gdb调试之前运行linux脚本【英文标题】:HowtorunalinuxscriptbeforelaunchinggdbdebugginginEclipse【发布时间】:2013-11-1411:50:37【问题描述】:在Eclipse中启动gdb调试之前,如何给出要运行的命令?实际上,我想在eclipse启... 查看详情

linux系统中sftp脚本如何添加打包tar命令

linux系统中SFTP脚本如何添加打包tar命令:我在脚本中添加:tar-zxvf123456.zip*执行后提示:tar未知命令求帮助参考技术A写tar的全路径 查看详情

如何在windows下使用linux的shell脚本

windows下使用linux脚本,关键是要有linux模拟环境,具体可以参考以下内容。一、windows10用户可以通过windows上的linux子系统来运行linux上的脚本文件。1、首先运行cmd,在cmd命令提示符执行bash命令。2、然后找到要执行的脚本文件执... 查看详情

在 Linux 和 BSD 中使用和不使用 shebang 执行 Bash 脚本

...Bash的脚本在没有shebang的情况下作为二进制文件执行时,如何以及由谁来确定执行什么?我猜想运行一个普通的脚本withshebang是用binfmt_scriptLinux模块处 查看详情

如何检查 Linux shell 脚本是不是由 cronjob 执行?

】如何检查Linuxshell脚本是不是由cronjob执行?【英文标题】:How-tocheckifLinuxshellscriptisexecutedbyacronjob?如何检查Linuxshell脚本是否由cronjob执行?【发布时间】:2016-01-2602:10:14【问题描述】:是否可以识别Linuxshell脚本是由用户执行还... 查看详情

如何在 Linux 中从 C 执行 shell 脚本?

】如何在Linux中从C执行shell脚本?【英文标题】:HowtoexecuteashellscriptfromCinLinux?【发布时间】:2011-04-1318:24:39【问题描述】:如何在Linux中从C语言执行shell脚本?【问题讨论】:【参考方案1】:这取决于您要对脚本(或您要运行的... 查看详情

如何找出进程在 Linux 中运行的 PHP 脚本?

】如何找出进程在Linux中运行的PHP脚本?【英文标题】:HowcanIfindoutwhichPHPscriptaprocessisrunninginLinux?【发布时间】:2012-03-1702:55:01【问题描述】:使用FastCGI处理程序运行Linux、Apache、PHP5.3。是否有可能找出正在为linux进程执行的脚本... 查看详情

如何在shell中执行一个模块,这个模块需要传入参数

...完全可以用shell脚本写出复杂的程序。以上只是简单介绍如何开始写shell脚本,如果要写复杂的脚本,还需要深入学习相关知识(如if——fi、case——esac等结构)。当然,还需要给脚本加上可执行权限(chmod+x./file.sh),否则可以用... 查看详情

linux下如何执行shell脚本

参考技术Alinux下可以有两种方式执行shell脚本:1、用shell程序执行脚本:根据shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等(一般来说第一行#!/bin/bash里面指明了shell类型的,比如#!/bin/bash指明是bash,#!/bin/sh则是sh);... 查看详情

linux系列教程(二十)——linux的shell概述以及如何执行脚本

  从这篇博客开始,我们将进入Linux的shell脚本的学习,这对于Linux学习爱好者而言是特别重要的一节,也是特别有意思的一节,shell脚本就像我们知道的Java,php类似的编程语言一样,通过shell脚本,我们能完成很多有意思的应... 查看详情

在linux中如何将脚本做成系统服务开机自启动?

参考技术A说实话这个问题很简单,将脚本给予可执行权限,配置单启动配置文件即可。具体文件名,怎么加搜索下即可。 查看详情

如何使用linux的crontab定时执行php脚本的方法

键入crontab-e编辑crontab服务文件------------------------------------------Ubuntu中的linux---------------安装lynx包:apt-getisntalllynx先写ln.sh脚本:lynxhttp://10.11.12.49/data_task.php设置定时:crontab-e01***bash/var/www/test/ln.sh--------------------------------------------... 查看详情

expect脚本在linux下是如何使用的

在Linux下灵活使用expect脚本的小窍门如果你是expect脚本语言的新手,可以首先从我们的expect的“helloworld”样例(英文)开始。1,使用“-c”选项,从命令行执行expect脚本expect可以让你使用“-c”选项,直接在命令行中执行它,如... 查看详情

如何在linux启动时自动执行命令或脚本

...行命令脚本,应该怎么设置呢?这篇文章主要介绍了详解如何在Linux启动时自动执行命令或脚本,主要有两种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。  方法步骤  在启动时执行Linux脚本  有两种传统... 查看详情