3 shell shell-script string-manipulation echo
我有一个$myvar
包含两行的变量,我想将其中的第一个放入一个新变量中。
当我尝试:
$ myvar1 = $(echo $myvar | head -n 1)
Run Code Online (Sandbox Code Playgroud)
它不起作用,因为 echo 不会像我期望的那样输出换行符。
显然我可以这样做:
$ myvar1 = $(echo $myvar | cut -d " " -f 1)
Run Code Online (Sandbox Code Playgroud)
它将工作,因为 echo 的输出在第一行包含一个单词,在第二行包含一个单词。
我有两个问题:
将参数echo
用引号括起来以正确保留空格。
echo "$myvar"
Run Code Online (Sandbox Code Playgroud)
否则,值的空格分隔元素将被视为 的单独参数echo
。
$ ls -1
Desktop
Documents
Downloads
Movies
Music
Pictures
Sites
$ myvar="$( ls -1 )"
$ echo $myvar
Desktop Documents Downloads Movies Music Pictures Sites
$ echo "$myvar"
Desktop
Documents
Downloads
Movies
Music
Pictures
Sites
Run Code Online (Sandbox Code Playgroud)
要获得某些东西的第一行,head -n1
效果很好。这取决于您的要求和可能的值是否确实是您需要的。
归档时间: |
|
查看次数: |
223 次 |
最近记录: |