我正在尝试使用与源不同的输出目录。但gpg --output
总是失败。这是我的剧本:
#!/bin/bash
#############################################
source=/u1/test/sourcefilein/
outputdir=/u1/encryptedfileout/
#############################################
for file in `ls $source`;do
#echo encrypting $file
sleep 10
gpg --batch --output $outputdir$file.gpg --encrypt-files \
--recipient juliyana@hotmail.com $source
sleep 10
done
答案 0 :(得分:1)
当您使用--encrypt-files时,无法指定文件的输出,因为它旨在加密多个文件。即使删除它也有其他一些错误。试试这个:
#!/bin/bash
source=/tmp/foo/
outdir=/tmp/bar/
cd $source
for file in * ; do
gpg --output $outdir$file.gpg -er juliyana@hotmail.com $file
done ;
如果你直接在目录中调用文件变量,那么bash将为$ file使用完整路径,这意味着它将尝试写入$ source $ outdirFILENAME.gpg,这不是你想要的。
由于您正在遍历每个文件和加密命令,因此不需要--batch标志。