将bash变量传递给子流程参数

时间:2014-01-14 18:00:51

标签: 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允许您添加一个命令以在完成时执行。我想mv%d%f(将directorypath / defaultfilename移动到%d / $ file(directorypath / original_file_name)。不幸的是,这是将新文件保存为“$ file”而不是$ file变量的值。有没有办法逃避报价?

1 个答案:

答案 0 :(得分:1)

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

nfcapd -p 12345 -l /path/to/new/file/ -x "mv %d%f %d/$file"

Shell变量不会在单引号内扩展。