linux – 如何在bash中将半命令分配给变量

这个命令工作正常

find . -name "test"

但我想在shell脚本中这样做

$FIND = "find . -name "

这样我就可以使用$FIND“测试”了

但它不起作用

解决方法:

考虑一下声明:

$Find = "find . -name "

这有两个问题:

> shell要求在赋值中=周围没有空格.
> $Find是变量的值.它本身不是变量.

因此,要为Find分配值,请使用:

Find="find . -name "

无法运行:

$Find test

这种方法既便携又有限.从长远来看,最好使用数组来解决这类问题.

最后,最好不要对变量名使用全部大写.系统对其变量使用全部大写,您不希望意外覆盖变量.

使用数组

可以为此定义一个数组,如下所示:

Find=(find . -name)

该数组可以如下使用:

"${Find[@]}" test

对于您展示的简单示例,阵列解决方案与更简单的变量解决方案之间没有区别.但是,一旦命令变得有点复杂并且需要引号或转义,就必须使用数组.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...