将bash变量传递到子流程参数中

将bash变量传递到子流程参数中,bash,command-line-arguments,Bash,Command Line Arguments,在bash shell脚本中,我希望执行以下操作: for file in /path/to/original/* nfcapd -p 12345 -l /path/to/new/file/ -x 'mv %d%f %d/$file' done 因此,nfcapd-x允许您添加一个命令以在完成时执行。我想将%d%f(移动目录路径/默认文件名)移动到%d/$文件(目录路径/原始文件名)。不幸的是,这将新文件保存为“$file”,而不是$file变量的值。有没有办法转义引号?在-x的参数周围使

在bash shell脚本中,我希望执行以下操作:

for file in /path/to/original/*
  nfcapd -p 12345 -l /path/to/new/file/ -x 'mv %d%f %d/$file'
done

因此,nfcapd-x允许您添加一个命令以在完成时执行。我想将%d%f(移动目录路径/默认文件名)移动到%d/$文件(目录路径/原始文件名)。不幸的是,这将新文件保存为“$file”,而不是$file变量的值。有没有办法转义引号?

在-x的参数周围使用双引号而不是单引号,它将是:

nfcapd -p 12345 -l /path/to/new/file/ -x "mv %d%f %d/$file"
Shell变量不在单引号内展开