gpt4 book ai didi

bash:运行带引号的命令时出现问题

转载 作者:行者123 更新时间:2023-11-29 09:09:18 25 4
gpt4 key购买 nike

在回答另一个问题时,我创建了以下脚本 bash 脚本:

#!/bin/bash

files1=( file1.txt file2.txt file3.txt )
files2=( file1_.txt file2_.txt file3_.txt )

cmd="vim -c 'set diffopt=filler,vertical' -c 'edit ${files1[0]}' -c 'diffsplit ${files2[0]}' "
echo $cmd
for i in {1..2}; do
cmd="${cmd} -c 'tabe ${files1[i]}' -c 'diffsplit ${files2[i]}' "
done

#$cmd
echo $cmd

问题是如果我尝试运行

$cmd

在脚本末尾出现错误,但如果我只使用 echo $cmd 然后在命令行中复制并粘贴它就可以正常工作。

知道我做错了什么吗?

谢谢。

最佳答案

使用:

eval $cmd

以便表达式中的变量在执行前展开。

关于bash:运行带引号的命令时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5435589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com