标签: cmd

Laravel 在控制器中运行 composer / git 命令

是否可以在 Laravel 的控制器中运行 composer 或 git 命令?类似的东西:

class TestController extends Controller
{
    //
    public function shell(Request $request){
        if($request->isMethod('post')){


            $data['output'] = shell_exec('composer update');
            // or some git commands
            return view('tests.shell', $data);
        } else {
            return view('tests.shell');
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我按照上面显示的方式进行操作,则不会收到任何消息。我认为,问题是,这些命令必须在项目根目录中运行,而不是在子文件夹中。

是否有一个 php 函数可以运行完整的 shell 脚本而不仅仅是单个命令?

我已经测试过这个:

echo shell_exec('php ' . __DIR__ . '/../shell.php');
// shell.php is in projects root directory
Run Code Online (Sandbox Code Playgroud)

脚本被执行,但不在根目录中。

谢谢!

php shell cmd composer-php laravel-5

0
推荐指数
1
解决办法
3642
查看次数

赢得批次 - 拆分和连接

我有一个逗号分隔的字符串,格式如下:

host1.mydomain.net,host2.mydomain.net,host3.mydomain.net
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用批处理(不允许安装其他软件或使用 powershell)在每个主机名前加上“http://”和“:8080”,然后将它们串在一起。

http://host1.mydomain.net:8080,http://host2.mydomain.net:8080,http://host3.mydomain.net:8080
Run Code Online (Sandbox Code Playgroud)

下面只是我尝试过的一种方法,拆分字符串然后创建一个新的,但是虽然我能够提取每个主机名,但我似乎无法连接它们。还考虑将“http...”添加到字符串的开头,将“:8080”添加到末尾,并将每个逗号替换为“:8080,http://”,但我无法使添加工作. 如果这是 Linux 和 sed,它会非常简单,但是批处理操作对我来说一直很困难。

@echo off
set themes=Host1,Host2,Host3
set NEWSTR1=
echo list = "%themes%"
for %%a in ("%themes:,=" "%") do (
   echo hostname is %%~a
   if NOT DEFINED NEWSTR1 (      
      set NEWSTR1=remote://%%~a:4447
      echo.%NEWSTR1%
   ) ELSE (
      set NEWSTR1=%NEWSTR1%,remote://"%%a":4447
      echo In the else %NEWSTR1% )
)

echo %NEWSTR1%
Run Code Online (Sandbox Code Playgroud)

windows string cmd batch-file

0
推荐指数
1
解决办法
205
查看次数

Windows 命令获取文件扩展名列表

我需要一个命令来获取文件夹中不同的扩展文件,其中包含每个扩展的出现次数。

那么我该怎么做呢?

windows filesystems cmd batch-file file-attributes

0
推荐指数
1
解决办法
4843
查看次数

如果 ENTRYPOINT 未完成,Dockerfile 不会运行 CMD

我正在尝试运行一个运行 PostgreSQL 的 Dockerfile,然后向其中添加一些表。

这是我的 Dockerfile:

FROM postgres:9.6

MAINTAINER agomez@ikerlan.es

USER postgres
ADD ./backup.sql /backup.sql
ADD ./deploy/import_database.sh /import_database.sh

USER root
RUN chmod +x /import_database.sh

USER postgres

ENTRYPOINT ./docker-entrypoint.sh postgres
CMD ./import_database.sh
Run Code Online (Sandbox Code Playgroud)

入口点没有完成,因为它运行 postgres 服务器。例如,如何在运行 ENTRYPOINT 20 秒后运行 CMD,但没有完成 ENTRYPOINT?

是否可以?

postgresql cmd docker dockerfile docker-entrypoint

0
推荐指数
1
解决办法
881
查看次数

`Tee-Object` 仅在 stdin 终止后才打印输出

我正在运行一个具有大运行时间和大输出的程序,因此为了在查看输出时进行日志记录,我tee在 windows 上使用命令cmd.exe

./program | tee -a program.log

program打印输出住(具有显着的时间间隙行之后线),但是tee打印仅输出程序终止之后。有什么方法可以tee与实时输出一起使用吗?

注意:该问题在 windows 上也仍然存在 powershell.exe

windows powershell cmd

0
推荐指数
1
解决办法
922
查看次数

如何使用命令行将单个 C# 类文件编译为 .exe?

我在尝试将单个类文件编译为可执行文件时遇到问题。这只是一个 .cs 文件,带有一个像这样简单的 hello world

using System;
using System.Diagnostics;
using System.Linq;
using System.Linq;


namespace Q3J1G0HFP7EXE58
{
    class Program
    {


        static void Main(string[] args)
        {
            Console.Title = "First Attempt";
            Console.WriteLine("Hello World!");
            Console.ReadKey();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我将如何从命令行将其编译为 .exe 文件?或者我需要执行什么过程才能将其放入 .exe 文件(全部来自命令,如 pref)。3rd 方程序是一个受欢迎的建议,我曾尝试使用 csc 方法,但它不能仅用于类文件。

它将是自动生成的代码,然后我想将其编译为与将代码写入文件的程序分开的程序。写入可执行文件被认为是一个完全自动化的过程,但编译正在成为一个问题。

c# command-line cmd compilation class

0
推荐指数
1
解决办法
1353
查看次数

如何将命令行参数传递给由 doskey 调用的 PowerShell 脚本

我有一个caller.cmd文件,它的 DOSKEY 设置如下:

DOSKEY startnow=call powershell getscalled.ps1 
Run Code Online (Sandbox Code Playgroud)

现在脚本getscalled.ps1在参数集中定义了两个开关参数,如下所示:

param(
    [Parameter(Mandatory=$false,ParameterSetName='first')]
    [switch]$thisIsFirst,
    [Parameter(Mandatory=$false,ParameterSetName='second')]
    [switch]$thisIsSecond
) 
Run Code Online (Sandbox Code Playgroud)

因此,一次只能提供两个参数之一。我希望使用我设置的 DOSKEY 从命令行本身提供参数。就像是:

startnow -thisIsFirst  
Run Code Online (Sandbox Code Playgroud)

有关如何实现这一目标的任何帮助?谢谢!

windows powershell cmd batch-file doskey

0
推荐指数
1
解决办法
449
查看次数

命令错误“|” 没想到此时

我收到消息“错误:“|” 当我运行以下代码时,此时批处理脚本出乎意料:

@set CheckAccount=FOR /F "tokens=3" %A IN ('net user UserName /domain^|Findstr /ic: "active"') do SET Active=%A
%CheckAccount%
| was unexpected at this time.
Run Code Online (Sandbox Code Playgroud)

即使我更改"active"active. 如果CheckAccount没有收到该错误消息,我似乎无法回声。

cmd batch-file

0
推荐指数
1
解决办法
38
查看次数

如何将 cmd 变量设置为打开或关闭的值?

如何将 cmd 变量设置为值onoff?这是交互式 cmd.exe 会话的输出:

c:\>echo %myvar%
%myvar%

c:\>set myvar=x

c:\>echo %myvar%
x

c:\>set myvar=on

c:\>echo %myvar%

c:\>set myvar=off

c:\>echo %myvar%
Run Code Online (Sandbox Code Playgroud)

在最后一个命令之后,命令会话变得无响应,我需要手动关闭命令窗口。这些价值观onoff拥有特殊权力吗?也ONOFF有类似的效果,所以这是不区分大小写的。

我能得到的最接近的是使用引号:

c:\>set myvar="on"

c:\>echo %myvar%
"on"
Run Code Online (Sandbox Code Playgroud)

然而,这是不可接受的,因为变量包含引号字符。

windows variables cmd batch-file

0
推荐指数
1
解决办法
49
查看次数

“该系统找不到指定的路径。” 在 cmd 开头

我以管理员权限运行命令提示符以在我的计算机上卸载 Ananconda,在此过程之后,我重新打开 cmd 并在我的 cmd 开头找到“系统找不到指定的路径”这一行。

我可以保证我的 cmd 之前没有这条线,我该如何解决?这是我应该注意的严重错误吗?

谢谢你。

“该系统找不到指定的路径。”

cmd anaconda

0
推荐指数
1
解决办法
1092
查看次数