将变量传递给Linux bash命令参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将变量传递给Linux bash命令参数相关的知识,希望对你有一定的参考价值。
我有以下bash脚本提出异常:“cut:option需要一个参数 - 'f'”。
它会从/ etc / passwd中删除第5列,用':'字符分隔。
我应该如何将$变量传递给选项的参数?
variable=5; cut -d':' -f$variable < /etc/passwd
答案
当$variable
为空时你得到这个:
$ variable=
$ cut -d: -f$variable </etc/passwd
cut: option requires an argument -- 'f'
Try 'cut --help' for more information.
2意见建议:
- 确保变量具有值
- quote your variables,在这种情况下,将选项与参数分开:至少当值为空时你会得到一个更安全的错误
$ cut -d : -f "$variable" </etc/passwd cut: fields are numbered from 1 Try 'cut --help' for more information.
另一答案
为避免这种情况,请使用
set -o nounset
然后,如果variable
未设置你将收到
bash: variable: unbound variable
以上是关于将变量传递给Linux bash命令参数的主要内容,如果未能解决你的问题,请参考以下文章