看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) MacOS Mojave Ubuntu 16 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) g++ 問題(Question): 我今天要寫一個簡單的shell 但是只能用我的project資料夾中的bin資料夾的指令 資料夾大概是: project--bin--ls,cat,... | |-Shell.cpp 因此在程式一開始initial時我使用了 setenv("PATH","bin:.",1); 之後用execvp()執行指令 餵入的資料(Input): ls 預期的正確結果(Expected Output): 執行ls 錯誤結果(Wrong Output): bin/ls: 1: bin/ls: Syntax error: "(" unexpected 補充說明(Supplement): 我有試過去掉程式是可以動的,但是會變成使用系統的bin,因此我的想法是 應該是我系統參數設定有問題,但是神奇的是我在Mac上卻可以跑 我的問題是:1.我的參數哪裡設錯了嗎? 2.如果是的話為什麼我在Mac上沒問題呢? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.138.40 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1539419343.A.87F.html
dododavid006: 問題看來是出在你的 bin/ls 不是你的程式 10/13 22:06
感謝大大的回答!我發現我的問題了 從MacOS的bin cp出來的ls不能再ubuntu用 包括其他在MacOS用g++ compile的.cpp檔... 要在Ubuntu上compile才能用 XD
tinlans: 為什麼你原本會覺得可以 cp 出來用 10/18 11:12
我一直以為是我的程式有問題,沒想過是Unix和Linux不能共用的問題... ※ 編輯: TampaBayRays (140.113.136.219), 10/23/2018 15:33:42