首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

bash运行脚本几种方式 转

bash shell 脚本执行方法有多种,本文作一个总结,供大家学习参考。 假设我们编写好shell脚本文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。...方法一:切换到shell脚本所在目录(此时,称为工作目录)执行shell脚本: cd /data/shell ./hello.sh ./意思是说在当前工作目录下执行hello.sh。...方法二:以绝对路径方式去执行bash shell脚本: /data/shell/hello.sh 方法三:直接使用bash 或sh 来执行bash shell脚本: cd /data/shell bash...因为方法三是hello.sh作为参数传给sh(bash)命令来执行。这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限。那么不用指定bash路径自然也好理解了啊,呵呵……。...方法四:在当前shell环境中执行bash shell脚本: cd /data/shell . hello.sh 或 cd /data/shell source hello.sh 前三种方法执行shell

2.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

基于Bash Shell一个审计脚本

整体运行界面是这个样子,界面眼熟吧,msf图形,哈哈哈。 ? 总体分了三个内容: 一、Webshell后门扫描 二、网站日志分析 三、日志搜索 一、Webshell后门扫描 ?...二、网站日志分析 这个基本没变,懒得改了,详情可参考3年前写那篇文章。 如何编写自己Web日志分析脚本? ? 运行结果如下: ? ?...用户根据扫描出来webshell后门名称,搜索名字,然后搜索信息进行去重、统计进行显示。 ?...毕竟都2020年了,不会徒手写shell脚本攻城狮不是好运维~ 写个整体代码框架示例,可能看起来能更清楚些... #!...五、题外话 在kali中,可以常用工具集中起来,配合bash shellfunction函数,来实现自动化执行,就不需要背命令了,无论什么工具,输个IP地址或者域名就可以直接使用了,只要你提前在function

1.1K30

JAVA001-java  调用bash shell脚本阻塞问题解决

背景 使用java实现web端,web端相应用户界面操作,使用java调用bash实现shell脚本进行实际操作,操作完成返回执行结果给web 界面显示。 现象: Java 进程阻塞。...使用ps命令可以看到被调用shell 执行进程状态为S !...[img](file:///D:\Users\Frank\AppData\Local\Temp\ksohtml\wps52C1.tmp.jpg) 分析 Shell子进程状态是S 睡眠状态,也就是该进程在等待某个条件满足...我们java 程序也就阻塞在了 process.waitFor(); 解决办法 所调用程序中不要有太多输出到标准出错 、标准输出中。...Jvm及我们java程序中,对该子进程标准输出、标准出错进行读取,从而避免缓存区满。

1.3K20

bash shell:获取当前脚本绝对路径(pwdreadlink)

https://blog.csdn.net/10km/article/details/51906821 有时候,我们需要知道当前执行输出shell脚本所在绝对路径,可以用dirname...我们知道 dirname 可以获取一个文件所在路径,dirname用处是: 输出已经去除了尾部”/”字符部分名称;如果名称中不包含”/”, 则显示”.”(表示当前目录)。...所以下面这样代码中SHELL_FOLDER中不一定是绝对路径 SHELL_FOLDER=$(dirname "$0") 需要用cd和pwd命令配合获取脚本所在绝对路径,正确写法是这样SHELL_FOLDER...=$(cd "$(dirname "$0")";pwd) 如果你觉得上面的写法比较麻烦,还有一个方式获取脚本绝对路径,就是借助readlink命令,下面是readlink命令行说明: ?...所以用readlink命令我们可以直接获取$0参数全路径文件名,然后再用dirname获取其所在绝对路径: SHELL_FOLDER=$(dirname $(readlink -f "$0")) 参考

8.5K30

怎么正经实现shell脚本单例运行

假设你一个脚本已经在运行了,如果避免再次被执行呢?也就是如何实现单例运行? 看起来可行方法 一个非常简单思路就是,新脚本被执行时,先检测当前脚本是否有其他实例正在运行,如果有则直接退出。 #!.../usr/bin/env bash #test.sh 来源:公众号编程珠玑 #获取当前运行test.sh脚本数 runCount=$(ps -ef|grep test.sh | grep -v grep...原因在于,shell脚本中一个命令执行相当于fork了一个进程执行,这里执行是查找tesh.sh并grep程序,另外还有一个就是当前运行脚本程序,这样方式自然就会出现每次都有两个了。...文件锁 实际上这种方法你已经在《如何让你程序同时只有一个在运行》介绍过了,只不过之前是用于编写C/C++程序,而这里是用于shell脚本。...}环境变量没有设置,则尝试脚本本身加锁,如果加锁成功,则运行当前脚本,(并且带上原有的参数),否则的话静默退出。

2.2K20

通过JSch运行远程linux主机上shell脚本

如果您看完文章之后,觉得对您有帮助,请帮我点个赞,您支持是我不竭创作动力! 运行远程主机上shell脚本 下面的例子是教给大家如何通过java程序,运行远程主机上shell脚本。...(我讲不是一个黑客学习教程,而是使用用户名密码去执行有用户认证资格主机上shell脚本)。并且通过java程序获得shell脚本输出。...远程shell脚本 下面的代码放入一个文件:hello.sh,脚本内容很简单只是用来测试,回显输出“hello ” #!...并且在远程主机上,为这个脚本设置可执行权限,方法如下: $ chmod +x hello.sh 本地java程序 我们可以使用下面的代码,去远程linux 主机执行shell脚本,详细功能请看代码注释...= null) { jschSession.disconnect(); } } } } 最终在本地控制台,获得远程主机上shell脚本执行结果。

2.1K00

bash shell:脚本中修改profile文件更新LD_LIBRARY_PATH示例

下面我们以一个实际应用例子来说明: 我已经有一个叫CASSDK项目,这个项目没有可执行文件,只是一组动态库文件提供别的应用程序调用(比如java),需要为它写一个安装脚本脚本作用是将在文件复制到指定安装目录...另外还要写一个卸载脚本,在删除安装目录后,同时profile中LD_LIBRARY_PATH变量也同步修改。...下面是原始profile脚本片段 # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/...(UNINSTALL.sh)片段,用sed修改profile文件,删除安装脚本添加export语句 # 定义安装目录位置变量 cassdk_path=/home/gdface/cassdk # cassdk_path...来示例,所以需要用root权限执行,当然你也可以用同样办法修改~/.bash_profile。

2.9K20

Shell脚本开发,超神存在!这款Bash开发工具,你值得拥有!

它为您提供 Bash 开发过程中所需各种功能:完善代码编辑与格式化体验,强大运行配置,代码调试器、测试器集成等等。...脚本执行 您可以使用 BashSupport Pro 自由执行 Bash 脚本文件和 代码片段。您可以利用代码片段脚本和多个配置内容保存在同一文件中。有关脚本执行内容都定义在 运行配置中。...在 Windows 环境中执行 Bash 脚本时,您可以通过配置文件进行自动路径映射。您还可以导入和导出其他 Bash 插件运行配置。...您可以在大家使用不同操作系统情况下运行配置分享给团队中任何人。...在复杂项目中,您还可以一组 Bash 脚本定义为 shell 脚本库 ,这将大幅简化启动 BashSupport Pro 代码检查功能流程。 安装使用 插件安装 在 中打开插件设置。

84410

Python | Pipenv官方推荐python包管理工具

这些命令可以替代$ pip install使用以及对虚拟环境手动管理(激活虚拟环境,只需运行$ pipenv shell) 基本概念 当虚拟环境不存在时,会自动创建一个 当没有参数传给 install...时,安装所有指定包 通过 $ pipenv --three,初始化一个Python3虚拟环境 通过$ pipenv --two,初始化一个Python2虚拟环境 其他命令下生成虚拟环境都是默认设置...其他命令 shell 命令会生成一个激活了虚拟环境shell run 运行输入到虚拟环境命令,并转发所有参数(e.g. $ pipenv run python) check 确定当前环境满足PEP...508要求 graph 输出一个包含当前所有已安装依赖漂亮图形 Shell 补全 举个例子,使用fish shell下列命令加入~/.config/fish/completions/pipenv.fish...: eval (pipenv --completion) 另外,也可以使用bash下列代码加入 .bashrc 或者 .bash_profile: eval "$(pipenv --completion

96220

Pipenv:官方推荐python包管理工具

这些命令可以替代$ pip install使用以及对虚拟环境手动管理(激活虚拟环境,只需运行$ pipenv shell) 基本概念 当虚拟环境不存在时,会自动创建一个 当没有参数传给 install...时,安装所有指定包 通过 $ pipenv --three,初始化一个Python3虚拟环境 通过$ pipenv --two,初始化一个Python2虚拟环境 其他命令下生成虚拟环境都是默认设置...其他命令 shell 命令会生成一个激活了虚拟环境shell run 运行输入到虚拟环境命令,并转发所有参数(e.g. $ pipenv run python) check 确定当前环境满足PEP...508要求 graph 输出一个包含当前所有已安装依赖漂亮图形 Shell 补全 举个例子,使用fish shell下列命令加入~/.config/fish/completions/pipenv.fish...: eval (pipenv --completion) 另外,也可以使用bash下列代码加入 .bashrc 或者 .bash_profile: eval "$(pipenv --completion

1.7K70

你应该学会Python多版本管理工具P

一切python及其官方自带工具或脚本运行都会隐晦通过pyenv调用,使用者无感知。原理如下条: pyenv命令操作,就是依据三层....小结: 其实说白了,就是基于path查找命令优先级为基础,强行在path前面插入一个pyenv_root/shims目录(里面有伪造python/pip/setuptools等命令同名脚本,有兴趣可以看下脚本内容...然后执行这些伪造命令,其实都是在执行pyenv命令,这些伪造命令会作为参数传递给pyenv命令,然后执行pyenv命令。...安装pyenv 前提,只能在类linux系统中使用 安装,执行命令:curl https://pyenv.run | bash 配置, 根据提示,在~/.bashrc文件最后,追加以下shell命令:...就可以开始使用pyenv 安装过程参考 通过pyenv安装python各种发行版 首先,pyenv是现有支持python各python发行版版本信息保存到pyenv本地

3K20

python版本管理(python环境隔

相关关键字如下: vscode 对 pipenv 支持, vscode 找不到 pipenv 创建虚拟环境, vscode pipenv, pipenv vscode ...等等 希望能给你带来更多营养...当你要执行终端命令时候,这个命令是从哪来呢,有个环境变量 PATH 企图hold住这个问题,大部分人打印一下 PATH (echo $PATH) 应该都会发现这样一部分 /usr/local/bin:...这就说明了一个问题,只要你使用pyenv 运行 which python 时候永远都打印 /Users/admin/.pyenv/shims/python 即使它指向是各种各样 python 版本...(which pip 同理) pyenv 通过环境变量 PYENV_VERSION 控制 python 指向版本,也就是 pyenv shell 控制内容,控制顺序依次是 pyenv shell,...这就是为啥要在 ~/.zshrc (或者 bash 对应配置文件)里面加上 eval "$(pyenv init -),因为要把垫片加到 PATH 最前面。

1K30

如何使用 Tmuxp 来优雅管理多个 Tmux 会话

补全(.bashrc) $ eval "$(_TMUXP_COMPLETE=source tmuxp)" # 如果运行命令提示报错则执行如下命令即可 $ tmux kill-server # 简洁语法配置...使用方式 只需要记住 load 这个一个命令其实就够了 tmuxp 工具配置文件保存在 ~/.tmuxp 中或在项目目录下作为 ~/.tmuxp.{yaml,json} 独立出现。...: /usr/bin/vim HOME: /tmp/hm windows: # 如果之前没有shell命令打开一个空白窗格。...测试开发配置 主要介绍在我们实际开发和测试当中应该如何使用该工具 [1] 定制高级开发环境 作为开发环境时候相关配置 session_name: tmuxp start_directory: ./ #...CWD 进入根(会话)级启动目录之前 # 假设您.tmuxp.yaml位于项目的根目录中 # 如果使用pipenv的话,则可以使用如下脚本来确保已安装软件包 session_name: my pipenv

4.1K31
领券