我有以下脚本:
#!/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无法解析它。我有什么想法吗?
由于
答案 0 :(得分:4)
我猜:脚本名为ls
,您已将ls
定义为ls --color=auto
或其他地方~/.bashrc
的别名。
答案 1 :(得分:2)
您可能已在某处定义了别名。
将此键入终端,看看你得到了什么:
alias | grep "ls"
您可以使用绝对路径运行ls
:
/usr/bin/ad `which ls` $@ 1>&1