Bash%s格式说明符在打印输出时消除字符串中的空格
我开始使用Bash%s格式说明符在打印输出时消除字符串中的空格,bash,printf,string-formatting,Bash,Printf,String Formatting,我开始使用printf而不是echo。我第一次进入printf%s是: #!/bin/bash danny=$(tail -1 /come/and/play/with/US.log| ~/walt/convert_gm_est) printf "%s" $danny 08:02.020Z信息当外壳计算时: printf "%s" $danny shell将展开变量danny的值,然后将其拆分为单词。用这些话来说,它还将扩大全球范围。完成后,表达式将如下所示(添加引号以澄清): 引用你的变量!
printf
而不是echo
。我第一次进入printf%s
是:
#!/bin/bash
danny=$(tail -1 /come/and/play/with/US.log| ~/walt/convert_gm_est)
printf "%s" $danny
08:02.020Z信息当外壳计算时:
时,用shell将展开变量printf "%s" $danny
的值,然后将其拆分为单词。用这些话来说,它还将扩大全球范围。完成后,表达式将如下所示(添加引号以澄清):danny
引用你的变量!将与printf“%s”foo bar baz
进行比较。(提示:用于尽早捕获此类错误。)为什么要printf“%s”foo bar baz
?这很可爱,但是可爱的变量名很快就会变老。正确命名标识符实际上是编程的一个重要部分。当你可以完全透明地说“sum=reported\u hours*Hourry\u rate”danny
sharon=richard*betty
编码是不必要的难读的(如果用ted
来打折,用marianne
来表示货币,大多数人都会放弃试图理解)。#!/bin/bash danny=$(tail -1 /come/and/play/with/US.log| ~/walt/convert_gm_est) printf "%s " $danny
08:02.020Z INFO <- casper/casperbox001wow SYSSTATS[sz=21, tag=0, aux=0] process_log 2221397 80 0 casper@casperbox001wow:~$
printf "%s" $danny
printf '%s' '08:02.020Z' 'INFO' '<-' 'casper/casperbox001' 'wow0' 'SYSSTATS'...
printf "%s" "$danny"