{"id":9240,"date":"2022-09-17T23:38:40","date_gmt":"2022-09-17T18:08:40","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/"},"modified":"2022-09-17T23:38:40","modified_gmt":"2022-09-17T18:08:40","slug":"solved-how-to-run-a-shell-script-sh-file-in-java","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/","title":{"rendered":"[Solved] How to run a shell script .sh file in java"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-49066225\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"49066225\" data-parentid=\"49065069\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"js-endorsements\" data-for-answer=\"49066225\">\n<\/div>\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>it is much advisable to use the <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/lang\/ProcessBuilder.html\">Process Builder<\/a>. It is really built for this kind of tasks.<\/p>\n<p>Your program <code>permisions.sh<\/code> is not an executable as Java understands it, even though the operating system understands it as an executable file.<\/p>\n<p>You need to inform Java that the bash shell (or some other shell) is needed to execute your command. eg. \/bin\/bash is the path to the program that can run or execute your script. With that said you follow this code snippet bellow to fix get that working.<\/p>\n<pre><code>public class FilePermission extends AbstractMediator\n{\n\n  public boolean mediate(MessageContext context) { \n      try {\n      File oldfile =new File(\"\/ggmd\/files\/uploads\/FIle contract1.csv\");\n        File newfile =new File(\"\/ggmd\/files\/uploads\/contract1.csv\");\n\n        if(oldfile.renameTo(newfile)){\n            System.out.println(\"Rename succesful\");\n        }else{\n            System.out.println(\"Rename failed\");\n        }\n\nprivate final String commandPath = \"\/bin\/bash\";\n\nprivate final String scriptPath = \"\/opt\/file\/contracts\/tst\/permissions.sh\";\n\n\ntry {\n        Process execCommand = new ProcessBuilder(commandPath, scriptPath).start();\n        execCommand.waitFor();\n    } catch (IOException e) {\n        \/\/ handle exceptions\n        System.out.println(e.getMessage());\n    } catch (InterruptedException e) {\n        System.out.println(e.getMessage());\n    }\n\n\n    return true;\n  }\n}\n<\/code><\/pre>\n<p>Please note that the above code may need some modification especially if your script(permissions.sh) may depend on the current working directory. with the above the working directory of the java code is being used.<\/p>\n<p>but can be changed by calling the <code>directory(File directory)<\/code> method on the process object. then pass the new working directory path to it. In this case<\/p>\n<pre><code>Process execCommand = new ProcessBuilder(commandPath, scriptPath).directory(new File(\"\/some\/directory\/to\/be\/used\/\")).start();\n<\/code><\/pre>\n<p>You can also call the <code>execCommand.getErrorStream();<\/code> or <code>execCommand.getInputStream();<\/code> where needed.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">10<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved How to run a shell script .sh file in java <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] it is much advisable to use the Process Builder. It is really built for this kind of tasks. Your program permisions.sh is not an executable as Java understands it, even though the operating system understands it as an executable file. You need to inform Java that the bash shell (or some other shell) is &#8230; <a title=\"[Solved] How to run a shell script .sh file in java\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/\" aria-label=\"More on [Solved] How to run a shell script .sh file in java\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[323,424,2586,2437,2601],"class_list":["post-9240","post","type-post","status-publish","format-standard","hentry","category-solved","tag-java","tag-linux","tag-sh","tag-wso2","tag-wso2-esb"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] How to run a shell script .sh file in java - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] How to run a shell script .sh file in java - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] it is much advisable to use the Process Builder. It is really built for this kind of tasks. Your program permisions.sh is not an executable as Java understands it, even though the operating system understands it as an executable file. You need to inform Java that the bash shell (or some other shell) is ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-17T18:08:40+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] How to run a shell script .sh file in java\",\"datePublished\":\"2022-09-17T18:08:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/\"},\"wordCount\":180,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"java\",\"linux\",\"sh\",\"wso2\",\"wso2-esb\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/\",\"name\":\"[Solved] How to run a shell script .sh file in java - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-17T18:08:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] How to run a shell script .sh file in java\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] How to run a shell script .sh file in java - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] How to run a shell script .sh file in java - JassWeb","og_description":"[ad_1] it is much advisable to use the Process Builder. It is really built for this kind of tasks. Your program permisions.sh is not an executable as Java understands it, even though the operating system understands it as an executable file. You need to inform Java that the bash shell (or some other shell) is ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/","og_site_name":"JassWeb","article_published_time":"2022-09-17T18:08:40+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] How to run a shell script .sh file in java","datePublished":"2022-09-17T18:08:40+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/"},"wordCount":180,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["java","linux","sh","wso2","wso2-esb"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/","url":"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/","name":"[Solved] How to run a shell script .sh file in java - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-17T18:08:40+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-run-a-shell-script-sh-file-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] How to run a shell script .sh file in java"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/9240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=9240"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/9240\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=9240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=9240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=9240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}