【问题标题】:Pass bash variables into subprocess arguments将 bash 变量传递给子进程参数
【发布时间】:2014-01-15 02:17:23
【问题描述】:

在 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(移动目录路径/默认文件名)到 %d/$file(目录路径/原始文件名)。不幸的是,这是将新文件保存为“$file”而不是 $file 变量的值。有没有办法逃脱引号?

【问题讨论】:

    标签: bash command-line-arguments


    【解决方案1】:

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

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

    Shell 变量不在单引号内展开。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多