我在Windows中创建了基本脚本。
#!/bin/bash
echo Hello
我正在使用Cmder,ConEmu衍生物。我尝试用chmod更改权限,但它们是相同的。我不知道如何执行这个脚本。正常的Linux方式,即:./ hello.sh不起作用,只键入hello.sh会让Windows尝试打开它,这很糟糕,因为我想在控制台中使用它。如何在ConEmu / Cmder中执行此脚本?
答案 0 :(得分:14)
I've noticed you can run bash
from cmder. So I could do it like:
> bash
$ ./yourScript.sh
or simpler
> cat yourScript.sh | bash
Disclaimer: New to cmder (just downloaded it) and Linux myself.
答案 1 :(得分:6)
在我自己的Cmder实例上, $template = APP_PATH."/application/views/layouts/mails/NewEmployee.html";
$mail_body = file_get_contents($template);
$formated_mail_body = str_replace(
["{{name}}", "{{email}}", "{{password}}"], [$name, $email, $password], $mail_body);
$from = [
"name" => "XYZ company",
"email" => "hr@xyz.com"
];
$to = [
["name" => $name, "email" => $email]
];
$subject = "Welcome on Board, Xyz Co.";
$sendgrid_mailer = new Mailer();
$sendgrid_mailer->addSender($from);
$sendgrid_mailer->addRecipient($to);
$sendgrid_mailer->addSubject($subject);
$sendgrid_mailer->addBodyContent($formated_mail_body);
$sendgrid_mailer->addReplyTo($from);
$response = $sendgrid_mailer->send();
var_dump($response);
工作正常,我相信更简单:
bash [filename]
答案 2 :(得分:4)
如果您希望只需输入其名称即可运行该脚本,则解决方法是创建一个别名并将其放入.bashrc
,例如:
alias scriptName="bash /pathToTheScript/yourScript.sh"
或者您可以在.bashrc
中找到一个脚本,并通过一个函数使其可用:
source /pathToTheScript/yourScript.sh
脚本在哪里:
#!/bin/bash
function your_function()
{
yourCode
}
答案 3 :(得分:2)
它的工作原理与Unix shell一样
sh path/to/your/script.sh
答案 4 :(得分:1)
如果您没有时间跳到下面的结论:
TL:DR:这是我在Windows上用“ Cmder> bash”创建一个全局脚本的方法:
我创建了一个外部脚本:
a@DESKTOP /c/Scripts/
λ vi test.sh
带有内容
#!/bin/bash
echo 'Can you see me now?'
它可以在同一文件夹中执行:
a@DESKTOP /c/Scripts/
λ ./test.sh
Can you see me now?
关于创建simbolink链接:
λ ln -s /c/Portables/Scripts/GlobalesBash/test.sh /bin/mytest
仅使用名称调用它似乎可以正常工作
λ mytest
Can you see me now?
但是如果原始文件被修改:
λ cat test.sh
#!/bin/bash
echo 'Yes, I see you'
使用链接未反映更改:
λ mytest
Can you see me now?
结论:
所以最好的选择是直接在文件夹/ bin上创建脚本:
λ cd /bin
λ vi aloha
λ cat aloha
echo 'aloha!!!'
Windows上的Cmder甚至不需要和#!/bin/bash
,并且Cmder bash中的任何地方都可以成功执行它:
λ cd /c
a@DESKTOP /c
λ aloha
aloha!!!
答案 5 :(得分:0)
您可以将自己的.sh
文件放到$CMDER_ROOT/config/profile.d/*.sh
目录中,如文档所述here