Argc和Argv在Bash

时间:2017-07-18 06:05:42

标签: linux bash shell argv argc

我编写了以下脚本,该脚本获取文件名,然后汇编并链接该文件。但它不起作用。有什么问题?

EXPECTED_ARGS=2


if [ $# -ne $EXPECTED_ARGS ]
then
        echo "[+] Assembling with Nasm."
        nasm -f elf32 $1 -o $1.o

        echo "[+] Linking ..."
        ld $1.o -o $1

        echo "[+] Done!" 

else
        printf  "\nInvalid number of arguments, please check the inputs and try again\n"

fi;

当我在没有传递任何args的情况下运行它时,它不会显示以下错误:

printf  "\nInvalid number of arguments, please check the inputs and try again\n"

1 个答案:

答案 0 :(得分:-1)

好的,试试这个

定义变量ARGC = $#

并且if语句看起来像

if [$ ARGC -ne $ MAX_ARGS];然后

图例:

-ne =不等于

-gt =大于

-eq =等于