Re: [問題] execlp的問題
※ 引述《batista630 (努力工作!!)》之銘言:
: ※ [本文轉錄自 C_and_CPP 看板]
: 作者: batista630 (努力工作!!) 看板: C_and_CPP
: 標題: [問題] execlp的問題
: 時間: Sun Apr 1 20:57:34 2007
: execlp ( "/bin/ls" , "ls" , NULL )
: 上面那個涵式的功用可以將當前資料夾的檔案列出
: 有幾個不懂的地方
: 若是我要使用的指令是ls -al,我把"ls" 換成 "ls -al"好像沒有用
: 我把"/bin/ls" 換成 "/bin/ls -al"也沒有用
: 所以結論是我不太懂execlp這個涵式的 我有找過書 也找過網站
: 解釋都像文言文一般的難懂 而且找到的參數都是五個
: 為什麼要有 "bin/ls"
: 有了"bin/ls" 後面為什麼又要再重複一次"ls" 可以解釋一下嗎
1 #include <unistd.h>
2
3 int main(){
4 execlp("/bin/ls", "ls", "-la", NULL);
5 return 0;
6 }
這個呼叫的第一個參數是執行檔的檔案名稱,只是抓到檔案,後面才開始傳入參數
第二個參數也就是傳給執行檔的第一個參數
對執行檔來說,第一個參數(是參數陣列的[0],也是)
是讓自己執行的那段命令
第二個參數以後,才會開始做一些事情,所以有可能執行檔是從第二個參數開始解讀
execl 系列的函數是把參數當成一個 List,最後都是用 NULL 收尾
--
一個Debian使用者的札記
http://plnote.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.67.162.19
討論串 (同標題文章)
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章