在bash中接收字符串作为参数
我需要创建一个bash函数,该函数接收字符串作为参数,将其分配给另一个变量,并打印该变量和一组其他变量。 我试过了,但没用 文件在bash中接收字符串作为参数,bash,Bash,我需要创建一个bash函数,该函数接收字符串作为参数,将其分配给另一个变量,并打印该变量和一组其他变量。 我试过了,但没用 文件log.sh: log() { if [ $# -lt "3" ] then echo $# return -1 fi CALLER="$1" ERRTYPE
log.sh
:
log() {
if [ $# -lt "3" ]
then
echo $#
return -1
fi
CALLER="$1"
ERRTYPE="$2"
ERRMSG="$3"
DATE=$(date +"%d/%m/%Y - %H:%M:%S")
echo "$CALLER - $ERRTYPE - $ERRMSG - $DATE -$USER"
}
log $1 $2 $3
电话:
输出:
funcion - WAR - log - 26/04/2014 - 11:43:44 - USER
在评论中(现在编辑成问题),你说:
问题在于,如果$3
包含“errmsg-lala-lala
”,则将5个参数传递给log
,但只打印前三个参数
你应使用:
log "$1" "$2" "$3"
正如我之前(在评论中)所说,如果有疑问,请使用双引号。在评论(现在编辑到问题中)中,您说:
问题在于,如果$3
包含“errmsg-lala-lala
”,则将5个参数传递给log
,但只打印前三个参数
你应使用:
log "$1" "$2" "$3"
正如我之前(在评论中)所说,如果有疑问,请使用双引号。在评论(现在编辑到问题中)中,您说:
问题在于,如果$3
包含“errmsg-lala-lala
”,则将5个参数传递给log
,但只打印前三个参数
你应使用:
log "$1" "$2" "$3"
正如我之前(在评论中)所说,如果有疑问,请使用双引号。在评论(现在编辑到问题中)中,您说:
问题在于,如果$3
包含“errmsg-lala-lala
”,则将5个参数传递给log
,但只打印前三个参数
你应使用:
log "$1" "$2" "$3"
正如我之前(在评论中)所说,如果有疑问,请使用双引号。你确定吗?对我来说很好,但对我来说不是。不知道问题出在哪里没有对赋值的RHS执行分词;缺少引号不是问题所在。你能复制并粘贴你键入的确切命令和确切输出吗?另外,你没有在原始问题中发布导致问题的实际调用;如果你一开始就发布了
log$1$2$3
,那么解决方案就显而易见了。你确定吗?对我来说很好,但对我来说不是。不知道问题出在哪里没有对赋值的RHS执行分词;缺少引号不是问题所在。你能复制并粘贴你键入的确切命令和确切输出吗?另外,你没有在原始问题中发布导致问题的实际调用;如果你一开始就发布了log$1$2$3
,那么解决方案就显而易见了。你确定吗?对我来说很好,但对我来说不是。不知道问题出在哪里没有对赋值的RHS执行分词;缺少引号不是问题所在。你能复制并粘贴你键入的确切命令和确切输出吗?另外,你没有在原始问题中发布导致问题的实际调用;如果你一开始就发布了log$1$2$3
,那么解决方案就显而易见了。你确定吗?对我来说很好,但对我来说不是。不知道问题出在哪里没有对赋值的RHS执行分词;缺少引号不是问题所在。你能复制并粘贴你键入的确切命令和确切输出吗?另外,你没有在原始问题中发布导致问题的实际调用;如果你一开始就发布了log$1$2$3
,那么解决方案就显而易见了。谢谢!你是对的!谢谢你是对的!谢谢你是对的!谢谢你是对的!