shell脚本的命令行传参

本文介绍了在Linux环境下,如何通过shell脚本给C程序传递参数,包括命令行传参和使用环境变量的方式。通过具体示例展示了如何使用shift命令处理命令行参数,并在C程序中利用getenv()函数获取环境变量值。
摘要由CSDN通过智能技术生成

      在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: $
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值