linux $(cmd) 屏蔽屏幕打印
时间: 2023-11-28 13:04:43 浏览: 26
在 Linux 中,可以使用 $(cmd) 命令替换来执行一个命令并将其输出作为参数传递给另一个命令。如果你想要屏蔽屏幕打印,可以将输出重定向到 /dev/null,这样输出就会被丢弃而不会显示在屏幕上。例如,如果你想要运行命令 "ls" 并屏蔽其输出,可以使用以下命令:
```
ls $(cmd) > /dev/null
```
这将运行 "ls" 命令并将其输出重定向到 /dev/null,从而屏蔽其输出。
相关问题
cmd="$cmd \$$
这行代码的作用是将一个变量 `$` 加入到变量 `$cmd` 的末尾。具体来说,`\$` 表示将 `$` 转义,变成一个普通字符,而 `$` 则表示引用变量的值。因此,这行代码的效果是在变量 `$cmd` 的末尾添加一个 `$` 字符。例如,如果 `$cmd` 的值是 `ls`,那么执行这行代码后,`$cmd` 的值就变成了 `ls$`。
分析代码功能count=$# cmd=echo while [ $count –gt 0 ] do cmd="$cmd \$$count" count=`expr $count - 1` done eval $cmd
这段代码的作用是将命令行参数逆序输出。它首先计算命令行参数的个数,然后使用一个 while 循环,将每个参数用 $ 符号连接起来,并将连接后的字符串存储在一个变量 cmd 中。循环结束后,使用 eval 命令执行 cmd 变量中存储的命令。具体解释如下:
- count=$#:将命令行参数的个数赋值给变量 count。
- cmd=echo:将字符串 "echo" 赋值给变量 cmd。
- while [ $count –gt 0 ]:当 count 大于 0 时执行循环体内的代码。
- cmd="$cmd \$$count":将变量 cmd 和当前参数的变量名用 $ 符号连接起来,并将连接后的字符串赋值给变量 cmd。例如,如果当前参数是 arg,则连接后的字符串为 "$cmd $arg"。
- count=`expr $count - 1`:将 count 减 1。
- done:结束 while 循环。
- eval $cmd:使用 eval 命令执行变量 cmd 中存储的命令。例如,如果命令行参数为 "foo bar baz",则循环结束后 cmd 的值为 "echo $baz $bar $foo",执行 eval "$cmd" 后将依次输出 baz、bar 和 foo。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)