我正在從我的linux應用程序調用系統調用。
/*某些file.c */ file.c被嵌入到名爲file.elf的可執行文件中。這個file.elf存在於目錄 /home/ubuntu/file.elf 當我執行file.elf時,echo $ BB_PATH打印可執行目錄路徑。我在期待目錄路徑是放置腳本的路徑。即 /home/ubuntu/Desktop/BIN/BB/Chk_File.sh
這是如何實現的?
if(!(system("ls /home/ubuntu/Desktop/BIN/BB")))
{
/* Test Path : remove after testing */
dw_flag = system("/home/ubuntu/Desktop/BIN/BB/Chk_File.sh");//Call to execute Script
dw_flag = WEXITSTATUS(dw_flag);
}
此輪流調用文件CHK_File.sh
ret_val=0
BB_PATH=$(pwd)
echo $BB_PATH
if [ ! -f ACTION_TAG.txt ]
then
echo " ACTION_TAG NOT PRESENT "
else
ret_val=1
fi
echo $ret_val
exit $ret_val
正如我想你現在已經發現,一般來說,當前目錄與找到shell腳本的目錄無關。 –
可能的重複[可以Bash腳本告訴它存儲在什麼目錄?](http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in) –