基本的bash脚本参数

时间:2013-02-18 05:00:08

标签: arrays bash variables

我是bash脚本的新手,想知道如何执行以下操作。基本上我有以下一行

./application [channels] -> [message]

我想用' - >'将它们存储到2个bash变量中作为分隔符。

即:

$ channels =渠道 $ message = message

此外,可以存在由,和/或空格分隔的多个通道。全线就是这样的:

./ application Channel1,Channel2,Channel3 - >这是一条消息。

现在在bash中,我希望存储在通道数组中的通道由,分隔(如果存在空间则除去空间)并将消息存储在消息变量中。我现在唯一能把它放在一起的是:

#!/bin/bash
for i
    do
        echo $i
    done

有人可以帮助我吗?

1 个答案:

答案 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