前猛砸變量賦值一個前兩天我碰到一個命令命令
AWS_ACCESS_KEY="foo" AWS_SECRET_KEY="bar" aws list iam
我看到一個命令之前設定的變量增加了這些變量在命令的環境來:
#make sure there is no environment variable "foo"
$ echo $foo
#mimic-ing above command
$ foo=bar printenv | grep foo
foo=bar
#or trying from python environment
$foo=bar python -c "import os; print(os.getenv('foo', None))"
bar
#foo is destroyed now
$ echo $foo
#<<NOTHING
我試圖用這個技巧根據今天的日期動態地創建一個新的目錄:
$ dname=$(date +%d_%m_%y) mkdir ${dname} && cd ${dname}
但我去t以下錯誤:
mkdir: missing operand
Try 'mkdir --help' for more information.
即$dname=$(date +%d_%m_%y) echo $dname
返回空!
我在做什麼錯?我如何動態創建和使用在bash的同一行上是可變的?
參數來自當前的shell,而不是命令最終運行的環境。 – chepner