在网上的bash脚本示例中遇到过几次这个printf -v之后,以及有关stackoverflow的几个问题,我在printf联机帮助页中找不到合适的解释.
男人printf或男人3 printf不帮助我.
我在哪里寻找?
linux中存在几个printf命令:
> printf作为已知的C函数. (在man 3 printf中描述)
> GNU printf,位于/usr/bin/printf中. (见man printf)
> bash的printf内置. (参见man bash并在SHELL BUILTIN COMMANDS部分查看条目).也可以通过help printf找到帮助,它将显示联机帮助页中的内置说明.
要找出您确切需要的内容,请使用type< command>找出特别使用的东西:
- root@pi:~# type printf
- printf is a shell builtin
所以3号是这里的解决方案:
printf [-v var] format [arguments]
摘录自此处:
- printf [-v var] format [arguments]
- Write the formatted arguments to the standard output under the control
- of the format. The -v option causes the output to be assigned to the
- variable var rather than being printed to the standard output.
- The format is a character string which contains three types of objects:
- plain characters,which are simply copied to standard output,character
- escape sequences,which are converted and copied to the standard
- output,and format specifications,each of which causes printing
- of the next successive argument. In addition to the standard printf(1)
- format specifications,printf interprets the following extensions:
- %b causes printf to expand backslash escape sequences in the
- corresponding argument (except that \c terminates output,backslashes in \',\",and \? are not removed,and octal escapes
- beginning with \0 may contain up to four digits).
- %q causes printf to output the corresponding argument in a format that
- can be reused as shell input.
- %(datefmt)T
- causes printf to output the date-time string resulting from using
- datefmt as a format string for strftime(3). The corresponding
- argument is an integer representing the number of seconds since
- the epoch.
- Two special argument values may be used:
- -1 represents the current time,and
- -2 represents the time the shell was invoked.
- Arguments to non-string format specifiers are treated as
- C constants,except that a leading plus or minus sign is allowed,and if the leading character is a single or double quote,the value is the ASCII value of the following character.
- The format is reused as necessary to consume all of the arguments.
- If the format requires more arguments than are supplied,the extra
- format specifications behave as if a zero value or null string,as appropriate,had been supplied.
- The return value is zero on success,non-zero on failure.