ksh 错误从列表中删除
ksh error remove from list
我正在尝试从 korn shell 中的列表中删除某个元素。它在我的 linux 机器上工作,但完全相同的代码在 solaris11 机器上给我一个错误。我需要一个适用于两者的代码。这可能是因为不同的 ksh 版本,但我想找到一个适用于两者的解决方案。
密码是:
#!/bin/ksh
MY_LIST="HELLO HOW ARE YOU"
toDel="HOW"
MY_LIST=( "${MY_LIST[@]/$toDel}" )
echo "MY LIST AFTER REMOVING HOW IS $MY_LIST"
在 Solaris 上,我收到以下错误:
第 4 行的语法错误:'(' unexpected
有什么建议吗?
您可能需要花一些时间在 ksh88 man page 上。
无需进一步说明:
set -A my_list HELLO HOW ARE YOU # note, separate words
toDel=HOW
set -- # using positional parameters as "temp array"
for word in "${my_list[@]}"; do
[[ $word != $toDel ]] && set -- "$@" "$word"
done
set -A my_list "$@"
printf "%s\n" "${my_list[@]}"
HELLO
ARE
YOU
最后,我用了'Walter A'解决方案:
MY_LIST=`echo $MY_LIST | sed "s/$toDel//"`
Melodie 写道: 最后,我使用了 'Walter A' 解决方案
很高兴我能帮上忙。
使您能够投票给我并关闭问题,我 post 我的评论作为答案。
MY_LIST=`echo $MY_LIST | sed "s/$toDel//"`
我正在尝试从 korn shell 中的列表中删除某个元素。它在我的 linux 机器上工作,但完全相同的代码在 solaris11 机器上给我一个错误。我需要一个适用于两者的代码。这可能是因为不同的 ksh 版本,但我想找到一个适用于两者的解决方案。
密码是:
#!/bin/ksh
MY_LIST="HELLO HOW ARE YOU"
toDel="HOW"
MY_LIST=( "${MY_LIST[@]/$toDel}" )
echo "MY LIST AFTER REMOVING HOW IS $MY_LIST"
在 Solaris 上,我收到以下错误:
第 4 行的语法错误:'(' unexpected
有什么建议吗?
您可能需要花一些时间在 ksh88 man page 上。
无需进一步说明:
set -A my_list HELLO HOW ARE YOU # note, separate words
toDel=HOW
set -- # using positional parameters as "temp array"
for word in "${my_list[@]}"; do
[[ $word != $toDel ]] && set -- "$@" "$word"
done
set -A my_list "$@"
printf "%s\n" "${my_list[@]}"
HELLO
ARE
YOU
最后,我用了'Walter A'解决方案:
MY_LIST=`echo $MY_LIST | sed "s/$toDel//"`
Melodie 写道: 最后,我使用了 'Walter A' 解决方案
很高兴我能帮上忙。 使您能够投票给我并关闭问题,我 post 我的评论作为答案。
MY_LIST=`echo $MY_LIST | sed "s/$toDel//"`