这个命令工作正常
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 举报,一经查实,本站将立刻删除。