当我输入某个命令时,有时我会得到如下的输出。
>
>
>
>
> 符号到底指的是什么。
答案1
你的情况
在这种情况下,“>”符号表示在您按下进入钥匙。
在您的例子中,您有一个尚未关闭的字符串。例如,如果我输入以下命令echo "Hello
,然后按回车键,它会给我一个“>”,直到我关闭字符串。示例:
如果我输入:
eric@Ubuntu: /home/eric$ echo "Hello
>what?
>single quotes won't close it?'
>but double quotes will! "
它将打印出以下输出:
Hello
what?
single quotes won't close it?'
but double quotes will! "
这使得您可以拥有一个跨越多行的字符串,而不必明确输入“\n”换行符。
额外的信息
此提示会打印出“>”,而不是其他内容,这是由环境变量设置的$PS2
。如果您将其设置$PS2
为其他内容,则系统会提示您输入该内容。
另一种显示此提示的方法是在行尾添加反斜杠(“\”)。它基本上将两行连接在一起,例如以下两行:
eric@Ubuntu: /home/eric$echo "Hello \
>There my friend"
将被处理为eric@Ubuntu: /home/eric$echo "Hello There my friend"
并仅输出Hello There my friend
。
这两种方法都用于以更易读的方式格式化您的代码。第一次看到它时可能会令人沮丧,因为您不知道是什么原因造成的,但当您尝试使更长的代码或代码的输出更易读时,它们都会派上用场。
答案2
管道还可用于将信息附加到文件,例如,如果你在终端中输入以下内容
echo "Test Line" > test.txt
这会将 test.txt 文件的内容设置为“测试行”,末尾带有换行符。如果该文件尚不存在,则会创建该文件。
echo "Test Line" >> test.txt
如果存在,这将在 test.txt 文件末尾添加“测试行”和换行符。如果不存在,则文件将创建为空,然后将此行添加到其中。
答案3
>
意味着将流重定向到
>>
意味着重定向到但最后
它仅适用于标准输出
而2>
适用于标准错误,显然使用1>
与>
标准输出是正常程序输出,标准错误是程序的错误输出。因此有两个输出。您可以使用以下命令重定向这两个输出&>
更多信息请点击此处http://www.tldp.org/LDP/abs/html/io-redirection.html