我正在从我的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
+0
正如我想你现在已经发现,一般来说,当前目录与找到shell脚本的目录无关。 –
+0
可能的重复[可以Bash脚本告诉它存储在什么目录?](http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in) –