Win10系统怎么开启Linux Bash命令行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Win10系统怎么开启Linux Bash命令行相关的知识,希望对你有一定的参考价值。

参考技术A   工具:  win10  Win10系统开启Linux Bash命令行方法如下:  1、首先将Win10系统升级到最新的Build 14316,然后到系统设置——更新和安全——针对开发人员——选择开发者模式。  2、然后系统搜索“程序和功能”,选择“开启或关闭Windows功能”,开启Windows Subsystem for Linux (Beta),并重启系统。  3、安装Bash,需要开启命令行模式,然后输入“bash”,即可使用。

在 linux/bash 中添加到命令行参数

【中文标题】在 linux/bash 中添加到命令行参数【英文标题】:Prepend to command line arguments in linux/bash 【发布时间】:2014-03-14 11:24:03 【问题描述】:

我想将提供给脚本的命令行参数传递给另一个命令,但我还想先在前面添加一些额外的参数。我怎么能用 bash 做到这一点?

这会将所有参数发送到命令:

command $@

但我想要更多类似的东西:

command [argument1, argument2, $@]

你怎么能在 bash 中做这样的事情?

【问题讨论】:

【参考方案1】:

@ThatOtherGuy 的回答是正确的。

如果您希望将几个参数“取消移位”到位置参数中,请执行以下操作:

set -- arg1 arg2 "$@"
cmd "$@"

【讨论】:

【参考方案2】:

如果你有grep foo并且你想在foo之前添加-f,你可以使用grep -f foo。同样的事情也适用于这里:

cmd argument1 argument2 "$@"

【讨论】:

@bt,请注意此处使用引号。这非常重要:它完全按照接收到的方式传递参数。 谢谢!完美运行!在什么情况下不能在 $@ 周围加上引号把你弄乱? $@ 的行为与$* 类似,并且受分词和通配符的影响。最常见的表现是你不能对包含空格的文件名做任何事情。 嗯,正在寻找一种方法来代替cmd "x y $@",以便稍后我可以在cmd 中操作“$1” @AlexanderMills 这是一个非常糟糕的设计决定,我强烈建议您重新考虑。该脚本将很脆弱,无法处理带有空格的参数。如果你坚持,你可以使用cmd "x y $*"【参考方案3】:

如果您想要更通用的方法来执行此操作(推荐),请使用:

#!/usr/bin/env bash

function xyz 
  echo "$args[@]"  # arguments will printed out


function abc 
    local args=()
    args+=(argument1)
    args+=(argument2)
    args+=("$@")
    xyz "$args[@]"

为了测试,源码上面的代码

source script.sh && abc

【讨论】:

以上是关于Win10系统怎么开启Linux Bash命令行的主要内容,如果未能解决你的问题,请参考以下文章

win10开启适用于linux的子系统重启后依旧没有开启

详解在Windows10用Linux Bash命令

Win10&Linux下Apache2+PHP7+Mysql安装以及创建Laravel项目

Linux 命令行 进入目录“---”

Win10 Bash/WSL调试Linux环境下的.NET Core应用程序

win10下Linux子系统开启ssh服务