【问题标题】:How do you assign the value of a parameter to a variable in UNIX?如何将参数的值分配给 UNIX 中的变量?
【发布时间】:2010-04-24 15:59:59
【问题描述】:
#!/bin/bash
if [ ! $1 ]
then
 echo "no param"
else
    export FAV_COLOR=$1
    echo "My fav color is ${FAV_COLOR}"
fi

这不符合我的预期:

>favcol.sh blue
My fav color is FAV_COLOR=blue

有什么想法吗?

【问题讨论】:

  • 您要求使用 bash 并使用了 set,这是一种 csh 语法...
  • @dmckee 应该是出口吗?

标签: unix variables parameters options


【解决方案1】:

删除set

FAV_COLOR=$1
echo "My fav color is ${FAV_COLOR}"

或者,如果您想设置它以便在 shell 中运行的后续程序可以使用它:

export FAV_COLOR=$1
echo "My fav color is ${FAV_COLOR}"

export 关键字描述得相当好here

【讨论】:

  • 对于“全局”的值来说,无论如何都影响当前 shell 的所有后代进程。
猜你喜欢
  • 2019-12-03
  • 1970-01-01
  • 2016-04-22
  • 2018-10-23
  • 2011-08-08
  • 1970-01-01
  • 2015-05-24
  • 2021-11-15
  • 1970-01-01
相关资源
最近更新 更多