我使用-t
执行type -t type
,这会给我一条未找到的错误消息popen
。当我在shell中执行class MyFooter
时,这会给我内置。为什么这不适用ActiveAdmin.setup do
?
答案 0 :(得分:0)
POSIX指定与popen
一起使用的shell为/bin/sh
。您的交互式shell可能是bash
。对于type
和sh
,bash
命令的行为有所不同。 sh
不支持-t
。
您的系统可能/bin/sh
符号链接到/bin/dash
,但这只是一个实施细节。
如果您需要bash
行为,请明确运行bash
:
popen("/bin/bash -c 'type -t type'", "r")