微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐