团队,我在执行xargs命令时无法看到变量替换。有什么提示,如何替换$hostname?在我的系统上,主机名是一个命令而不是在环境中定义的变量。但我也可以将其设置为变量。
hostname="$(hostname)"
ls -ltr /var/log/console.* | awk -F 'log/' '{print $2}' | xargs -
l1 -- sh -c 'aws s3 cp /var/log/"$1" s3://test-
bucket/dom0/$hostname/' --
输出
upload: ../var/log/console.68.log to s3://test-
bucket/dom0//console.68.log
请观察dom0//,应该在上面
预期的
dom0/host-123/console.68.log
$hostname
是否已定义?或者您想要使用hostname
命令的输出? - nbarish -c
由xargs调用的shell),你应该将它导出。换句话说,应该使用命令export hostname
。 - William Pursell