如何将字符串和变量组合到一个命令中并在bash中执行?

时间:2018-01-18 19:52:14

标签: bash

为了详细说明,我正在编写一个shell脚本来自动使用插件。 为此,我使用xclip从x剪贴板中提取url,然后将其附加到带参数的命令末尾并执行组合命令。

我使用url="$(xclip -o)"从剪贴板获取网址,然后com='youtube-dl -x --audio-format mp3 '设置初始字符串。 我一直笨手笨脚地试图printf并将新字符串定义为str=$com $url(以及其中的许多变种。我在很长一段时间内没有写过任何东西,并知道我搞砸了一些漂亮的东西什么能帮忙?

1 个答案:

答案 0 :(得分:2)

使用赋值中的空格连接两个字符串

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

也可以写

str=$com' '$url

str=$com" "$url

然后可以启动命令

str="$com $url"

然而

$str

是调用$ url传递环境变量str = $ com

的语法

如果url是一个可以包含空格或制表符的字符串,则应该使用数组来避免在调用时拆分

str=$com $url