我有一个变量:pkgname=com.google.android.youtube
命令是
su -c "stockapp=$(pm 路径 $pkgname | grep base | sed 'sed 's/package://g')"
我已经检查过变量是在双引号内传递的,但不是传递到 $() 我怎样才能在那里传递变量?
答案1
你的代码没有意义。
也许你的意思是:
stockapp=$(
PKG=$pkgname su -c 'pm path "$PKG"' |
sed '/base/!d; s/package://g'
)
也就是说,使用 和 as 参数运行 as 的登录 shell (假设root
的登录 shell类似于 Bourne)并在其环境中运行,并处理其输出以删除所有不包含, 的行,对于其他行,删除所有出现的,并将该输出分配给shell 脚本中的变量。root
-c
pm path "$PKG"
root
PKG=contents-of-pkgname
base
package:
$stockapp