【发布时间】:2013-02-18 22:39:30
【问题描述】:
谁能帮我写一个简单的 bash 脚本来处理以下用法:
./application channels;message
eg: ./application channel1 channel2 channel3;this is a message
所以基本上是分隔符之前的任何内容;是由空格分隔的通道,以及 ; 之后的任何内容是消息。
基本上,我想将这些中的每一个存储到一个变量中并打印出来......
【问题讨论】:
-
请注意,
;是 shell 的命令分隔符。您必须写:./application 'channels;message',分号前后加上引号或反斜杠。那不是很正统的用法。你可以更习惯地使用./application -m "this is a message" channel1 channel2 channel3。 -
嗨乔纳森 - 感谢您的反馈。我怎么能用你的用处写一个脚本呢?我看到的唯一问题是,如果消息中有 " 字符怎么办。
code./application -m "this is"t a message" channel1 etc... -
您需要了解 shell 元字符,其中包括
"'`$;(。对于所有这些,您需要转义罪魁祸首:./application -m 'He said, "Don'\''t do that!"' chan1等。通常,在消息周围使用单引号;如果要写单引号,请输入'\''。