我试图附加一个文本,如果它是一个目录。
calculation="$(ls -l | sed 's/[d]/This is a directory -> /')"
printf "%s" "${calculation}"
我只是想知道是否有人可以给我提示我的代码有什么问题
不知道您在做什么,但是:
$ calculation="$(ls -l | sed 's/^[d]/This is a directory -> d/')"
两项更改:
^
,表示行必须以方括号中的字符之一(这d
是唯一的字符)开头。d
在替换的末尾添加了a ,因为您用字符串替换了它。这样,您的目录仍然具有正确的权限。您不需要[d]
。只是d
会做:
$ calculation="$(ls -l | sed 's/^d/This is a directory -> d/')"
而且您不需要${calculation}
:
$ echo "$calculation"
或者,如果您想使用printf
:
$ printf "%s\n" "$calculation" # Note the ending NL which printf doesn't supply
或更简单地说:
$ printf "$calculation\n"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句