在Linux环境下开发C程序,若想要可选择性的给程序传递外部参数,最后是以启动脚本的形式间接进行传递,这样对于命令行的参数解析工作将集中到shell脚本中,大大增加C代码的可移植性。
shell脚本给C程序传参最常用的方法有两种,在执行C程序时使用命令行传参,要求命令行参数的位置固定(在C程序中不加入额外参数标识解析模块情况下),另外一种方法相对灵活,即使用环境变量的方式进行传参。
针对以上方法,举一个简单例子:
#!/bin/sh
ECHO="echo"
FPARG="-p"
FSARG="-s"
FILEPATH="0"
FILESIZE="0"
function printHelp(){
ehco ""
echo "<Archerfoo>My Demo Script"
echo ""
echo "$0 $FPARG 指定文件路径"
echo "$0 $FSARG 指定文件阈值"
echo ""
echo "Usage:"
echo "$0 -p ./test.txt -s 100 "
}
while [ $# -gt 0 ]; do
arg=$1
case "$arg" in
$FPARG
$ECHO "Input file: $2"
FILEPATH=$2;
shift
shift
continue;;
$FSARG
$ECHO "Set size: $

本文介绍了在Linux环境下,如何通过shell脚本给C程序传递参数,包括命令行传参和使用环境变量的方式。通过具体示例展示了如何使用shift命令处理命令行参数,并在C程序中利用getenv()函数获取环境变量值。
最低0.47元/天 解锁文章
1679

被折叠的 条评论
为什么被折叠?



