首页 > 解决方案 > 为什么 bash -c 'var=5 printf "$var"' 不打印 5?

问题描述

我尝试了这些变体,但没有一个什么都不做,即不打印 5

在此处输入图像描述

linux@linux:~$ bash -c 'var=5 printf "$var"'
linux@linux:~$ bash -c "export var=5 echo $var"
linux@linux:~$ bash -c "export var=5 && echo $var"

linux@linux:~$ bash -c "var=5; echo $var"
linux@linux:~$ var=5 sudo printf "$var"
linux@linux:~$ var=5 sudo -E printf "$var"

linux@linux:~$ bash --version
GNU bash, version 4.4.19(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

标签: linuxbashshellcommand-lineenvironment-variables

解决方案


推荐阅读