我正在尝试创建将以某种颜色打印绑定到变量的消息的函数.消息变量作为此函数的参数传递.问题是我只获得第一个空格的文本(只有第一个消息).我的脚本看起来像这样:
#!/usr/bash
lbGREEN='\e[1;92m'
NC='\e[0m'
normalMessage="Everything fine"
echo_message() {
echo -e ${lbGREEN}$1${NC}
}
echo_message $normalMessage
我的输出是:
Everything
解决方法:
对我来说,我不得不更改“#!/ bin / bash”的标题,但显然这对你来说不是问题.
在你的回声中你只用$1打印第一个单词,如果你把它改成$2你将打印第二个单词(参数),依此类推.
您可以在引号内传递名称或使用$@打印所有参数
解决方案1(使用$@):
lbGREEN='\e[1;92m'
NC='\e[0m'
normalMessage="Everything fine"
echo_message() {
echo -e ${lbGREEN}$@${NC}
}
echo_message $normalMessage
解决方案2(带引号):
lbGREEN='\e[1;92m'
NC='\e[0m'
normalMessage="Everything fine"
echo_message() {
echo -e ${lbGREEN}$1${NC}
}
echo_message "$normalMessage"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。