首页 > 系统相关 >shell执行脚本的方法

shell执行脚本的方法

时间:2024-07-29 16:26:06浏览次数:16  
标签:脚本 tmp shell test2 sh test 执行 root localhost

执行脚本的方法 ( 1 ) bash ./filename.sh (产生子进程,再运行,使用当前指定的 bash shell 去运行) ( 2 ) ./filename.sh (产生子进程,再运行,使用脚本里面指定的 shell 去运行。使用该种方式执行需要 x 权限) ( 3 ) source ./filename.sh ( source 命令是一个 shell 内部命令,其功能是读取指定的 shell 程序文件,并 且依次执行其中的所有的语句,并没有创建新的子 shell 进程,所以脚本里面所有创建的变量都会保存到 当前的 shell 里面) ( 4 ) . ./filename.sh (和 source 一样,也是使用当前进程执行) [root@localhost test] # vim test2.sh #!/bin/bash cd /tmp pwd [root@localhost test] # ls -l test2.sh -rw-r--r-- . 1 root root 24 Apr 30 20 :09 test2.sh (1)[root@localhost test] # bash test2.sh /tmp (2)[root@localhost test] # ./test2.sh -bash : ./test2.sh: Permission denied [root@localhost test] # chmod a+rx test2.sh [root@localhost test] # ./test2.sh /tmp (3)[root@localhost test] # source test2.sh /tmp [root@localhost tmp] # (4)[root@localhost test] # . test2.sh /tmp [root@localhost tmp] # 执行 shell 脚本时,如果使用 1 和 2 这种方式执行会在当前的进程下产生一个新的 bash 子进程,所以子进程 切换到了 /tmp 目录,当脚本结束,子进程也就结束了,所以当前进程的目录不会发生变化; 3 和 4 方式执 行时,不会产生新的进程,所以脚本执行结束后当前的目录会变成 /tmp 。 [root@localhost test] # echo 'userdir=`pwd`' > test3.sh [root@localhost test] # cat test3.sh userdir = `pwd` (1)[root@localhost test] # bash test3.sh [root@localhost test] # echo $userdir [root@localhost test] # (2)[root@localhost test] # chmod a+rx test3.sh [root@localhost test] # ./test3.sh [root@localhost test] # echo $userdir [root@localhost test] # (3)[root@localhost test] # source test3.sh [root@localhost test] # echo $userdir /test (4)[root@localhost test] # . test3.sh [root@localhost test] # echo $userdir /test

标签:脚本,tmp,shell,test2,sh,test,执行,root,localhost
From: https://blog.csdn.net/nianwan2157/article/details/140737268

相关文章

  • shell
    1、写一个shell脚本,计算1+2+……+n共n个值的和,n值由用户输入2、让用户输入一个文件名,分别输出该文件的所在目录和该文件的扩展名3、判断用户输入的数值是几位数4、统计用户输入的目录文件中文件的个数[root@localhost~]#catsum......
  • 【漏洞复现】某凌OA 文件Copy导致远程代码执行
         声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。一、漏洞描述蓝凌OA平台正通过加速构建产业互联网来深化其数字化发展,从而对企业的协作能力提出了更高的要求。为了支持这一转变,蓝凌......
  • 使用 powershell 或 python 从网页列出公司名称
    我希望使用PowerShell或python仅列出URL中的公司名称:https://www.moneycontrol.com/markets/earnings/results-calendar/?activeDate=2024-07-29下面是我的python脚本用于获取网页的结构:importrequestsfrombs4importBeautifulSoup#URLo......
  • 编译安卓系统源码时,执行 source build/envsetup.sh 的目的
    在编译安卓系统源码时,执行sourcebuild/envsetup.sh的目的是设置环境变量和提供一些编译所需的函数和工具。具体来说,这个脚本的作用包括:设置环境变量:envsetup.sh脚本会设置一些关键的环境变量,例如PATH和ANDROID_BUILD_TOP。ANDROID_BUILD_TOP是指向安卓源码根目录的路......
  • SpringMVC请求执行流程
    SpringMVC是一个基于Spring框架的MVC(Model-View-Controller)框架,它简化了Web应用程序的开发。在SpringMVC中,请求的执行流程是一个精心设计的过程,涉及多个核心组件的协同工作。以下是对SpringMVC请求执行流程的详细解析,内容不少于2000字。一、SpringMVC请求执行流程概述Spri......
  • 自动化脚本
    最近也有负责了一些运维部署的工作,每次发包都比较麻烦,编写了一个自动化脚本大概思路是从github上拉取对应分支代码到本地,本地编译,复制拷贝到目标目录,启动执行注意最后要赋予文件可执行权限#!/bin/bash#Promptuserforenvironmentecho"Enterenvironment(dev,test,o......
  • 界面自动化测试录制工具,让python selenium自动化测试脚本开发更加方便
    自动化测试中,QTP和seleniumIDE都支持浏览器录制与回放功能,简单的来说就像一个记录操作步骤的机器人,可以按照记录的步骤重新执行一遍,这就是脚本录制。个人觉得传统录制工具有些弊端,加上要定制支持我自己的自动化框架(python单机版自动化测试框架源代码),所以自己用javascript写了一个......
  • Lua脚本解决Redis 分布式锁
    Redis分布式锁由于判断锁和释放锁是两个步骤,在判断一致后如果线程阻塞导致锁超时释放。之后阻塞结束,当前线程继续执行释放了其它线程的锁。锁设计失败解决方法:通过lua封装比较和释放锁两个步骤:要么同时成功,要么同时失败我的疑问?为什么不对判断和释放锁两个步骤再加锁@Over......
  • 可以在没有 SAPGui 脚本记录器的情况下捕获 SAP GUI 交互吗?
    是否可以在不依赖VBS记录器的情况下捕获与SAPGUI元素的交互,是否有专门为此特定目的而设计的集成SAPGUI组件?观察:不是记录器屏幕importwin32com.client#ConectandoaoSAPGUISAPGuiAuto=win32com.client.GetObject("SAPGUI")ifnottype(SAPGuiAuto)==win3......
  • 最新斗音养号涨粉留痕脚本,解放双手自动引流涨粉
    1.引言在抖音等短视频社交平台上,用户关注度是衡量账号影响力的关键指标之一。抖音留痕技术作为一种新兴的社交策略,旨在通过自动化手段增加用户间的互动,以提高关注度。2.抖音留痕技术概述抖音留痕技术主要通过以下步骤实现:访问评论列表:选择抖音平台上的特定作品,进入其评......