IDEA中编写并运行shell脚本的实现

IEDA中的bashsupport插件支持在IDEA中编写shell脚本文件,有友好的代码格式,支持自动补全,检查错误,并且配置完之后,还可以在IEDA中直接运行shell脚本。下面将一步一步演示插件的安装和配置。

打开IEDA,安装bashsupport插件 

安装完之后,保持插件选中并切实enable的状态,如下图所示,然后重启IDEA。

安装git软件。
https://www.git-scm.com/download/

基本上直接安装全部默认就可以,不过要记住自己的安装目录。

IDEA配置
如下图所示,编辑器右上角打开 Edit Configurations 。

如上图所示,只需要在这儿页面中设置 Interpreter path即可,剩下的都留空。
然后新建一个Bash Script 文件,名字自起。

最后一个截图是设置脚本文件的换行符,设置为linux换行符,文件编码设置为UTF-8。运行脚本时要注意脚本的编码和控制台的编码是否一致,如果不一致,控制台中的中文就会变成乱码。项目编码设置方法大家百度一下,控制台编码设置方法如下:

在IDEA安装根目录的bin目录下找到  idea64.exe.vmoptions  或者  idea.exe.vmoptions  文件(和你电脑的操作系统位数有关),然后在最后一行加上  -Dfile.encoding=UTF-8   ,重启IDEA,控制台的编码就变成了UTF-8。

注意,在新版本中,通过修改  idea64.exe.vmoptions  或者  idea.exe.vmoptions  文件可能不会生效,需要通过idea界面的help->Edie Custom VM Options...选项打开配置文件,然后修改内容,重启生效,截图如下:

在打开的脚本编辑器空白处右击,选择运行该脚本。

上图中第一行表示Windows下脚本的执行命令,如果后面文件的路径分隔符并不是Windows的分隔符,我们需要修改它。(注意新版本idea已经修复了这个问题,不需要修改即可直接执行)

重新打开 Edit Configurations,进行如下图所示的修改:

上图配置完之后,点击OK即可。

然后重新运行脚本,运行方法如下图所示:

大功告成,如果没有成功运行,则仔细比照上面的所有截图,看看哪一步设置错误了。

其他

注意,从2020.1版本开始,bash support已经不再更新,有可能会和之后的新版本不兼容。

不过新出了bash support pro,但是是付费插件。pro版本开始支持debug功能,能够像运行java一样进入debug调试。这是个非常不错的新特性,当然肯定还有其他很多新特性。试用期30天,每月6.8美元,每年68美元。

到此这篇关于IDEA中编写并运行shell脚本的文章就介绍到这了,更多相关IDEA中编写并运行shell脚本内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Shell脚本实现监视指定进程的运行状态

    在之前的博客中,曾经写了自动化测试程序的实现方法,现在开发者需要知道被测试的进程(在此指运行在LINUX上的主进程的)在异常退出之前的进程的运行状态,例如内存的使用率.CPU的使用率等. 现用shell脚本实现指定进程的运行状态.直接上代码. #!/bin/sh echo "`date`" echo "Start $0---------" echo "" #每十秒监视一下 sec=10 #取得指定进程名为mainAPP,内存的使用率,进程运行状态

  • PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码

    复制代码 代码如下: $command = '/usr/bin/php /pub/www/u111/job/Crondo/auto_collector.php &'; $process = proc_open($command, array(),$pipes); $var = proc_get_status($process); proc_close($process); //pid就是进程ID,至于为什么要加1,我现在也没有搞懂,经过多次的测试,发现$var['pid']得到的ID比实际的少1

  • 在cmd中直接运行PowerShell脚本文件的方法

    以前在cmd中执行powershell,我们都是这样: 复制代码 代码如下: PowerShell.exe -file a.ps1 现在想在cmd中这样执行: 复制代码 代码如下: a.ps1 此时需要将Powershell脚本的默认打开方式选择为Powershell.exe,可以鼠标右键操作. 也可以使用下面的cmd以管理员权限打开,然后运行命令: 复制代码 代码如下: ftype Microsoft.Powershellscript.1="%SystemRoot%\system32\wind

  • Shell脚本实现检测进程是否正在运行

    这里简单介绍一个自己写的检测某个进程是否存在的bash小脚本.直接上代码. 复制代码 代码如下: #!/bin/bash ps_out=`ps -ef | grep $1 | grep -v 'grep' | grep -v $0` result=$(echo $ps_out | grep "$1") if [[ "$result" != "" ]];then     echo "Running" else     echo

  • Shell脚本获取进程的运行时间

    在我们的系统中,我曾写了一个脚本去定时更新一些repository,但偶尔会遇到问题,比如:git pull之时可能会卡在那里(可能由于某时刻的网络问题),它会阻碍后面的下一次更新.所以我就在想,我今后启动这个脚本时,进行检查,如果上次运行的脚本还没结束,而且过了某个时间阀值,就把它及其子进程给kill掉.然后,我就需要写了一个可以查询某个进程已经运行了多少时间(以second为单位)的脚本.注意:这并不是是指进程消耗的CPU时间,这里是当前时间减去进程启动时的时间,是这个时间段. 本来,ps本

  • Shell脚本定时备份清除运行系统日志的代码

    一.写备份并清除老日志Shell脚本: 复制代码 代码如下: #!/bin/sh#backup eoslog#author rhao#date 2008-12-27 #定义环境变量EOS_HOME=/home/eosSAS_HOME=/home/eos/SAS # 测试主辅结点if test -d '/home/eos/SAS/SAS1_web1'then        SAS_LOG_HOME=$SAS_HOME/SAS1_web1/SAS_Domain/binelse        SAS_

  • Shell脚本实现监控iptables运行状态

    最近在调试服务器的iptables,自己做了个定时关iptables,但晚上回家很少开电脑,所以就没法去启动iptables,当然你可能会说,为什么不取消定时关闭iptables,我只能说个人的环境不一样,需求也就不一样. 脚本内容: vi iptables-reset.sh 复制代码 代码如下: #!/bin/bash #Powered by blog.slogra.com port=`iptables -vL|grep ssh|awk '{split($NF,a,":");prin

  • shell脚本运行java程序jar的方法

    在UBuntu上部署项目的时候,我们往往通过一段shell来启动程序,甚至是通过crontab定时任务来定时的调用java程序,但是很奇怪的一个问题就是,比如我写了一个如下的shell脚本: #!/bin/sh export mypath=/root/project/wishnomal java -Xmx3000m -Xms3000m -server -d64 -Dfile.encoding=UTF-8 -Dfetch.threads=300 -classpath $mypath/:$mypat

  • shell脚本实现多进程运行的方法示例

    本文主要跟大家分享了shell脚本实现多进程运行的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 例子 for ip in 192.168.56.{1..254} do ( ping $ip -c 4 &>/dev/null; if [ $? -eq 0 ]; then echo $ip is alive fi ) & done wait 解释 重点是在于()和&,把for里面需要执行的命令当作一个组合并在后台运行. wait等待所有后台子程序执行完毕 执行效率

  • IDEA中编写并运行shell脚本的实现

    IEDA中的bashsupport插件支持在IDEA中编写shell脚本文件,有友好的代码格式,支持自动补全,检查错误,并且配置完之后,还可以在IEDA中直接运行shell脚本.下面将一步一步演示插件的安装和配置. 打开IEDA,安装bashsupport插件  安装完之后,保持插件选中并切实enable的状态,如下图所示,然后重启IDEA. 安装git软件. https://www.git-scm.com/download/ 基本上直接安装全部默认就可以,不过要记住自己的安装目录. IDEA配

  • 详解Shell脚本中调用另一个Shell脚本的三种方式

    主要以下有几种方式: Command Explanation fork 新开一个子 Shell 执行,子 Shell 可以从父 Shell 继承环境变量,但是子 Shell 中的环境变量不会带回给父 Shell. exec 在同一个 Shell 内执行,但是父脚本中 exec 行之后的内容就不会再执行了 source 在同一个 Shell 中执行,在被调用的脚本中声明的变量和环境变量, 都可以在主脚本中进行获取和使用,相当于合并两个脚本在执行. 第一种:fork 特点:会生成子PID而且可重复被

  • Linux系统crontab定时运行shell脚本失败的问题及解决

    目录 1.最近开始学习Linux系统使用 2.脚本倒是很简单 第一种 第二种 最后我找到两解决办法 总结 1.最近开始学习Linux系统使用 经过一段时间学习终于学到了shell脚本,因为学的东西比较零散,突发奇想我学过了crontab定时任务,今天也学了shell脚本的编写,为何不组合一下,既能提升学习深度,又能锻炼自学能力,何乐而不为呢?但是没想到,我已步入了Linux的坑. 2.脚本倒是很简单 因为刚学习,写的命令都很简单,请各位大神不要笑我,我写这篇博客目的一是为了记录踩过的坑,加深映像

  • Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例

    每种语言都有自己的优势,互相结合起来各取所长程序执行起来效率更高或者说哪种实现方式较简单就用哪个,nodejs是利用子进程来调用系统命令或者文件,文档见http://nodejs.org/api/child_process.html,NodeJS子进程提供了与系统交互的重要接口,其主要API有: 标准输入.标准输出及标准错误输出的接口. NodeJS 子进程提供了与系统交互的重要接口,其主要 API 有: 标准输入.标准输出及标准错误输出的接口 child.stdin 获取标准输入 child.

  • 实现android自动化测试部署与运行Shell脚本分享

    我的配置是linux 64, android4.2.2的sdk. 实现的细节都在代码注释里了,变量名以及echo的内容也是说明的一部分. 主流程为: 1.检测是否指定端口的模拟器已经运行,若有则关闭 2.创建模拟器 3.启动模拟器 4.用ant build包,通过检查bin目录下有没有apk来确定是否成功 5.检查指定端口的模拟器是否已正常运行 6.用adb安装apk 7.启动apk的activity,让程序自己跑 8.用shell ps循环检测程序是否已退出,若已退出,检查是否sdcard是是

  • java运行shell脚本方法示例

    现在通过CommandHelper.execute方法可以执行命令,该类实现 复制代码 代码如下: package javaapplication3;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * * @author chenshu */public class CommandHelper {    //default time out, in mill

  • linux shell(.sh)脚本编写和运行入门

    编写第一个shell脚本 在gedit中编写.sh格式的文件,保存为a.sh. 代码: #! /bin/bash # employ bash shell player1=xiaoming # define a player1 player2=ken echo "Game start! $player1 $player2" # echo is used to printf in terminal 在终端调用脚本,定位到目录,然后输入: bash a.sh 看到打印结果如上所示. 编写第一

  • Linux中执行shell脚本的4种方法总结

    bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: 复制代码 代码如下: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可能不在

  • 学习shell脚本之前的基础知识[图文]

    日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本的编写是必考的项目.有的单位甚至用shell脚本的编写能力来衡量这个linux系统管理员的经验是否丰富.笔者讲这些的目的只有一个,那就是让你认真对待shell脚本,从一开始就要把基础知识掌握牢固,然后要不断的练习,只要你shell脚本写的好,相信你的linux求职路就会轻松的多.笔者在这一章中并不会多么详细的介绍shell脚本

  • 什么是Shell?Shell脚本基础知识详细介绍

    Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. 它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序.建立文件并以并行的方式协调各个程序的运行.因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好L

随机推荐