作者TampaBayRays (光芒今年拿冠軍)
看板C_and_CPP
標題[問題] Setenv問題(MacOS可以Ubuntu卻不行)
時間Sat Oct 13 16:28:59 2018
開發平台(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