通过切换到它们的目录并以./
. 但是,我不知道为什么切换到目录然后输入sh [Program Name]
给我这个错误:
Fortune_Teller_5000: 1: Fortune_Teller_5000: Syntax error: "(" unexpected
和:
./Fortune_Teller_5000: 1: ./Fortune_Teller_5000: Syntax error: "(" unexpected
我在 bash 手册页中读到该sh
命令是一个不读取.bashrc
文件的 shell,所以我有点困惑为什么我不能用它来运行我制作的程序。我确实根据 HP Linux 成像和打印页面上的说明使用它来安装我的打印机驱动程序。
键入
sh program_name
假定program_name是一个 shell 脚本并执行该脚本(因此它必须是 sh/bash 语言)。如果Fortune_Teller_5000
是二进制文件(编译的 C 程序,甚至 C 源代码),运行sh Fortune_Teller_5000
将无法按预期工作。这里有 2 种方法可以做到:
sh
然后 ENTER,然后键入./Fortune_Teller_5000
(您可能需要cd
进入正确的目录)sh -c ./Fortune_Teller_5000
或sh -c /path/to/folder/Fortune_Teller_5000
运行
sh [Program Name]
指示sh
程序执行名为[Program Name]
so 如果此文件是 C 程序的 shell 脚本,则该命令将失败。sh的POSX 规范,标准命令语言解释器声明参数
sh
应该是“包含命令的文件的路径名”。