1

我正在使用 ash shell(不是 bash)开发一个小脚本。

现在我有一个具有以下组成的变量:

VARIABLE = "number string status"

其中 number 可以是任何数字(实际上介于 1 和 18 之间,但将来该数字可能更高)字符串是名称,状态是或 on 或 off 名称通常只有小写字母。

现在我的问题是只读取变量中的字符串内容,删除数字和状态。

我怎样才能得到它?

4

4 回答 4

4

两种方式;一种是利用$IFS和使用一个while循环——这将非常愉快地适用于单行——如:

echo "Part1 Part2 Part3" | while read a b c
do
    echo $a
done

或者,使用cut如下:

a=`echo $var | cut -d' ' -f2`
echo $a
于 2012-01-13T23:18:43.140 回答
3

怎么用cut

name=$(echo "$variable" | cut -d " " -f 2)

更新

显然,阿什不明白$(...)。希望你可以这样做:

name=`echo "$variable" | cut -d " " -f 2`
于 2012-01-13T23:13:46.500 回答
1
#!/bin/sh
myvar="word1 word2 word3 wordX"
set -- $myvar

echo ${15}    # outputs word 15
于 2012-12-13T09:21:44.550 回答
1

怎么样 :

name=$(echo "$variable" | awk '{print $2}')
于 2012-01-14T05:22:13.543 回答