此代码有什么问题?我只是想从函数中写一些东西。
$ cat system_info.sh
#!/bin/bash
drive_space ()
{
echo "drive space"
}
$(drive_space)
错误消息
$ ./system_info.sh
./system_info.sh: line 8: drive: command not found
答案 0 :(得分:4)
$(command)
是命令替换。 Bash将它扩展为命令的输出(类似于`command`
。在这种情况下,命令的输出为drive space
,因此bash尝试运行它,但它找不到{{1} }命令。
当您需要捕获变量中的输出时,通常会使用命令替换:
drive
要调用函数,只需使用其名称:
output=$(drive_space) # $output now contains "drive space".
答案 1 :(得分:2)
$(drive_space)
执行drive space
这不是命令。
#!/bin/bash
drive_space ()
{
echo "drive space"
}
drive_space