[問題] Setenv問題(MacOS可以Ubuntu卻不行)
開發平台(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
→
10/13 22:06,
7年前
, 1F
10/13 22:06, 1F
感謝大大的回答!我發現我的問題了
從MacOS的bin cp出來的ls不能再ubuntu用
包括其他在MacOS用g++ compile的.cpp檔...
要在Ubuntu上compile才能用
XD
→
10/18 11:12,
7年前
, 2F
10/18 11:12, 2F
我一直以為是我的程式有問題,沒想過是Unix和Linux不能共用的問題...
※ 編輯: TampaBayRays (140.113.136.219), 10/23/2018 15:33:42
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章