在编写 unix 脚本时,我很困惑为什么脚本会出错。
剧本是这样的...
jvmpid=$(pidof java)
./jstat -gc $jvmpid
当我运行脚本时,它会出错:
格式错误的 VM 标识符:3492 用法:jstat -help|-options jstat - [-t] [-h] [ []]
定义:由 -options 选项虚拟机标识符报告的选项。vmid 采用以下形式: [@[:]] 目标 Java 虚拟机的本地 vm 标识符在哪里,通常是进程 ID;是运行目标 Java 虚拟机的主机名;并且是目标主机上 rmiregistry 的端口号。有关虚拟机标识符的更完整描述,请参阅 jvmstat 文档。标题行之间的样本数。
采样间隔。允许使用以下形式: ["ms"|"s"] 其中是整数,后缀指定单位为毫秒("ms") 或秒("s")。默认单位是“毫秒”。终止前要采集的样本数。-J 直接传递给运行时系统。
但是,如果我直接在 shell 中执行脚本的每一行,每个都可以正常工作。
有什么线索吗?我已经在网上搜索过帮助。