能帮我给出下面重定向语法的一些例子吗
下面这些bash 重定向语法有哪些具体例子呢?n>&:Duplicate standard output to file descriptor n.
n<&:Duplicate standard input from file descriptor n.
n>&m:File descriptor n is made to be a copy of the output file descriptor.
n<&m:File descriptor n is made to be a copy of the input file descriptor.
&>file:Directs standard output and standard error to file.
<&-:Close the standard input.
>&-:Close the standard output.
n>&-:Close the output from file descriptor n.
n<&-:Close the input from file descriptor n.
n>&word:If n is not specified, the standard output (file descriptor 1) is used. If the digits in word do not specify a file descriptor open for output, a redirection error occurs. As a special case, if n is omitted, and word does not expand to one or more digits, the standard output and standard error are redirected as described previously.
n<&word:If word expands to one or more digits, the file descriptor denoted by n is made to be a copy of that file descriptor. If the digits in word do not specify a file descriptor open for input, a redirection error occurs. If word evaluates to -, file descriptor n is closed. If n is not specified, the standard input (file descriptor 0) is used.
n>&digit-:Moves the file descriptor digit to file descriptor n, or the standard output (file descriptor 1) if n is not specified.
n<&digit-:Moves the file descriptor digit to file descriptor n, or the standard input (file descriptor 0) if n is not specified. digit is closed after being duplicated to n. 1. n>&:将标准输出复制到文件描述符n上的具体例子:
将标准输出复制到文件描述符3上: ls -l >&3
2. n<&:将标准输入复制到文件描述符n上的具体例子:
将标准输入复制到文件描述符4上: sort -u <&4
3. n>&m:将文件描述符n复制到输出文件描述符的具体例子:
将文件描述符3复制到文件描述符4上: exec 4>&3
4. n<&m:将文件描述符n复制到输入文件描述符的具体例子:
将文件描述符3复制到文件描述符4上: exec 4<&3
5. &>file:将标准输出和标准错误输出到文件的具体例子:
将标准输出和标准错误输出到file.log文件中: command &> file.log
6. <&-:关闭标准输入的具体例子:
关闭标准输入: exec <&-
7. >&-:关闭标准输出的具体例子:
关闭标准输出: exec >&-
8. n>&-:关闭指定文件描述符的输出的具体例子:
关闭文件描述符3的输出: exec 3>&-
9. n<&-:关闭指定文件描述符的输入的具体例子:
关闭文件描述符3的输入: exec 3<&-
10. n>&word:将标准输出和标准错误输出重定向到指定文件的具体例子:
将标准输出和标准错误输出重定向到file.log文件: command &> file.log
11. n<&word:将指定文件描述符的输入重定向到指定文件的具体例子:
将文件描述符3的输入重定向到file.txt文件: exec 3<&0 file.txt
12. n>&digit-:将指定文件描述符的输出移动到指定文件描述符的具体例子:
将文件描述符3的输出移动到文件描述符4: exec 4>&3-
13. n<&digit-:将指定文件描述符的输入移动到指定文件描述符的具体例子:
将文件描述符3的输入移动到文件描述符4: exec 4<&3- 下面是一些bash重定向语法的具体例子:
1. n>&:将标准输出复制到文件描述符n:
· 1>&2:将标准输出复制到标准错误输出。
2. n<&:将标准输入复制自文件描述符n:
· 0<&3:将标准输入复制自文件描述符3。
3. n>&m:将文件描述符n设置为输出文件描述符m的副本。
· 2>&1:将标准错误输出重定向到标准输出。
4. n<&m:将文件描述符n设置为输入文件描述符m的副本。
· 0<&3:将标准输入重定向到文件描述符3。
5. &>file:将标准输出和标准错误输出重定向到文件。
· &>/dev/null:将标准输出和标准错误输出重定向到/dev/null,即丢弃输出。
6. <&-:关闭标准输入。
7. >&-:关闭标准输出。
8. n>&-:关闭文件描述符n。
9. n<&-:关闭文件描述符n。
10. n>&word:如果未指定n,则使用标准输出(文件描述符1)。如果word中的数字未指定用于输出的文件描述符,则会发生重定向错误。
· >&2:将标准输出重定向到标准错误输出。
11. n<&word:如果word展开为一个或多个数字,则将文件描述符n设置为该文件描述符的副本。如果word中的数字未指定用于输入的文件描述符,则会发生重定向错误。如果word评估为-,则关闭文件描述符n。如果未指定n,则使用标准输入(文件描述符0)。
· 3<&0:将文件描述符3设置为标准输入的副本。
12. n>&digit-:将文件描述符digit移动到文件描述符n,如果未指定n,则移动到标准输出(文件描述符1)。
· 2>&1-:将标准错误输出移动到标准输出,并关闭标准错误输出。
13. n<&digit-:将文件描述符digit移动到文件描述符n,如果未指定n,则移动到标准输入(文件描述符0)。digit在复制到n之后关闭。
· 3<&0-:将文件描述符3移动到标准输入,并关闭文件描述符3。
请注意,这只是一些重定向语法的例子,具体使用时需要根据实际情况进行调整。
如果问题已经解决,请设置最佳答案 以下是针对每种重定向语法的例子:
1. n>&:将标准输出复制到文件描述符n
# 重定向标准输出和标准错误到同一个文件
command 1>&2 log.txt
2. n<&:将标准输入从文件描述符n复制
# 从文件描述符3读取输入
command <&3
3. n>&m:将文件描述符n复制为输出文件描述符m的副本
# 从文件描述符3写入输出
command 3>&1 1>&2 2>&3 | tee log.txt
4. n<&m:将文件描述符n复制为输入文件描述符m的副本
# 复制标准输入到文件描述符3
command 3<&0
5. &>file:将标准输出和标准错误都重定向到文件
# 重定向标准输出和标准错误到log.txt文件
command &> log.txt
6. <&-:关闭标准输入
# 从标准输入读取输入并关闭标准输入
command <&0 -
7. >&-:关闭标准输出
# 将输出写入文件,然后关闭标准输出
command > log.txt >&-
8. n>&-:关闭文件描述符n的输出
# 关闭文件描述符3的输出
command 3>&-
9. n<&-:关闭文件描述符n的输入
# 关闭文件描述符3的输入
command 3<&-
10. n>&word:如果未指定n,则使用标准输出(文件描述符1)。如果word中的数字未指定打开用于输出的文件描述符,则会出现重定向错误。因为特殊情况,如果省略n并且word没有扩展为一个或多个数字,则标准输出和标准错误将被重定向为上述所述。
# 将输出和错误都重定向到log.txt文件
command &>log.txt
# 将标准输出和标准错误分别重定向到log.txt和error.txt文件
command >log.txt 2>error.txt
# 等同于上一行命令
command >&log.txt 2>error.txt
11. n<&word:如果word扩展为一个或多个数字,则表示由n表示的文件描述符将成为该文件描述符的副本。如果word中的数字未指定打开用于输入的文件描述符,则会出现重定向错误。如果word的值是“-”,则关闭文件描述符n。如果未指定n,则使用标准输入(文件描述符0)。
# 将文件描述符3的输入复制为文件描述符4
command 4<&3
12. n>&digit-:将文件描述符digit移动到文件描述符n,或者如果n未指定,则移动到标准输出(文件描述符1)。
# 将文件描述符3的输出复制为文件描述符4,并关闭文件描述符3
command 4>&3- 3>&-
13. n<&digit-:将文件描述符digit移动到文件描述符n,或者如果n未指定,则移动到标准输入(文件描述符0)。在复制到n后,会关闭digit。
# 将文件描述符3的输入复制为文件描述符4,并关闭文件描述符3
command 4<&3- 3<&-
希望这些例子能够帮助你更好地理解每种重定向语法的用法。
此内容为ChatGPT回答,如果胡说八道,请不要理会
如果对你有帮助,请设置一个最佳答案!
页:
[1]