|
发表于 2005-10-24 21:35:05
|
显示全部楼层
Post by ehu
我用的是suse 10, sh是bash。
系统自定义有一个alias: ll='ls -l'
alias | grep ll的结果是:alias ll='ls -l'
which ll没有输出
我在一个script:make_num_file.sh中使用ll:
echo `ll 一个文件`
出错提示是
./make_num_file.sh: line 16: ll: command not found
这是为什么呢
能解说一下alias和command的区别吗?
which是不是本来就找不到alias?
alias是不是本来就不能在script中使用?
man bash, 查一下alias的用法,如果没猜错,alias是bash自带的命令,在bash中对执行程序所用到的一个别名,如你提到的那个alias ll=ls -l命令,但在脚本中不能这样写,我就因为这样做导致无法执行。还得改回原来的执行命令。command只在当前shell环境下有用,而alias只对执行程序运行时所起的一个别名,是为了好记。
EG: alias rpmq=rpm -ql | grep
|
|