bash脚本总是将--color = auto作为参数

时间:2011-12-10 22:09:00

标签: bash arguments

我有以下脚本:

#!/bin/bash

STUB=`pwd | awk -F '/' '{print "/" $2 "/" $3 "/"}'`
printf "arguments are $@\n"

if [ $STUB = "/mnt/nas/" ]; then

        /usr/bin/ad ls $@ 1>&1

else

        /bin/ls $@ 1>&1

fi

然而,不管怎样,每当我运行它时,即使我从未输入过,下面的文本也会自动添加为参数:

--color=auto

所以我可以运行以下命令:

ls

并且它将始终打印

arguments are --color=auto

即使我从未输入过。

这个额外的论点搞砸了我的脚本,因为/ usr / bin / ad无法解析它。我有什么想法吗?

由于

2 个答案:

答案 0 :(得分:4)

我猜:脚本名为ls,您已将ls定义为ls --color=auto或其他地方~/.bashrc的别名。

答案 1 :(得分:2)

您可能已在某处定义了别名。

将此键入终端,看看你得到了什么:

alias | grep "ls"

您可以使用绝对路径运行ls

/usr/bin/ad `which ls` $@ 1>&1