我是bash脚本的新手,想知道如何执行以下操作。基本上我有以下一行
./application [channels] -> [message]
我想用' - >'将它们存储到2个bash变量中作为分隔符。
即:
$ channels =渠道 $ message = message
此外,可以存在由,
和/或空格分隔的多个通道。全线就是这样的:
./ application Channel1,Channel2,Channel3 - >这是一条消息。
现在在bash中,我希望存储在通道数组中的通道由,
分隔(如果存在空间则除去空间)并将消息存储在消息变量中。我现在唯一能把它放在一起的是:
#!/bin/bash
for i
do
echo $i
done
有人可以帮助我吗?
答案 0 :(得分:0)
由于您的邮件中可能包含空格,请将参数保留在引号中,并保持简单:
for CHANNEL in $(echo $1 | tr " ," "\n")
do
echo Channel: ${CHANNEL}
done
echo Message: ${2}
示例:
anew@buddha:~/dev/so$ bash example.sh "channel1 channel2 channel3" "this is the message"
Channel: channel1
Channel: channel2
Channel: channel3
Message: this is the message