STATUS='yes'
FOO='pretty'
BAR='purple'
for var in STATUS FOO BAR; do
# declare -p $var | cut -d ' ' -f 3- >> variable.file
declare -p $var >> variable.file
done
回报
declare -- STATUS="yes"
declare -- FOO="pretty"
declare -- BAR="purple"
- 不确定
-f
选项意味着什么?当我未附加时,-f
它会显示“您必须指定字节、字符或字段的列表?”这手动的说
-f
将操作或显示限制为函数名称和定义
cut -d ' '
将其分成3个字段。declare
,--
,STATUS="yes"
?- 如果 2 正确,
3-
则将得到最后一个字段,其中包含 STATUS="yes" FOO="pretty" BAR="purple"
总的来说,我不确定point1,因为结果与point2,point3匹配,但我也想确认我的point2,point3解释是正确的。
答案1
使用cut
,-f
指定要提取的字段。 “字段”由分隔符(在您的情况下是一个字符)分隔Space。每个Space分隔一个字段,因此,如果您的数据具有多个Space字符(使用 进行检查od -bc your.file
),则根据 ,它具有多个“字段” cut
。
其他工具,例如awk '{print $3} your.file
有不同的“字段”概念。
顺便说一句,您的man
页面引用不是来自man cut
.开关,如-f
,没有全局意义 - 它们对不同的程序意味着不同的东西。