命令行字符串格式
命令行每次只处理一行字符串,回车键时输入。命令行字符串本质要以
\r
或\n
字符作为一行的结尾,按回车键时即输入了\r
或\n
(具体由终端软件决定)。如果使用ScureCRT的命令按键功能,则发送字符的每一行都需要显式的加上\n字符。每行命令由若干通过空格分割的子字符串组成,空格可以是一个或多个,行首和行末也可能有若干空格。命令行会把收到的字符串解析成一个子字符串数组并传递给内置命令或应用程序,这样子字符串前后的空格都会被忽略。
[root@sylixos:/root]# args 123 abc arg 1 is args arg 2 is 123 arg 3 is abc [root@sylixos:/root]# args 123 abc arg 1 is args arg 2 is 123 arg 3 is abc [root@sylixos:/root]#
要想命令行中的参数带有空格符,可以使用双引号将参数扩起来。命令行中的双引号会被全部去掉,并把一组双引号内部的所有字符(包括空格)当做一个参数处理。
[root@sylixos:/root]# args 123 abc arg 1 is args arg 2 is 123 arg 3 is abc [root@sylixos:/root]# args "123 abc" arg 1 is args arg 2 is 123 abc [root@sylixos:/root]#
形如
${VAR_NAME}
字符串为环境变量取值操作,会被替换为环境变量值再进行指令执行。[root@sylixos:/root]# echo ${PATH} /usr/bin:/bin:/usr/pkg/sbin:/sbin:/usr/local/bin
形如
VAR_NAME=VAR_VALUE
字符串为修改或增加环境变量操作,而不是命令调用。[root@sylixos:/root]# VAR_TEST="hello world" [root@sylixos:/root]# echo ${VAR_TEST} hello world [root@sylixos:/root]#