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
これはグローバルな意味ではありません。つまり、プログラムごとに異なる意味を持ちます。