LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 956|回复: 11

linux 命令行下可以运行 直接变成脚本 去不行

[复制链接]
发表于 2003-8-7 11:36:47 | 显示全部楼层 |阅读模式
很简单的

cd / &&
alias l='ls --color=auto' &&
l -l


help
发表于 2003-8-7 13:07:59 | 显示全部楼层

错!

命令行下也不可以运行的。

alias后,下一个命令才会有效。

所以这个命令,第一次会出 l: command not found
再执行时就好像是正常了。
发表于 2003-8-7 17:42:21 | 显示全部楼层
在脚本中也可以,如:
alias d='date'
d
但是回到命令行里那么d这个别名就失效啦!!因为父shell不会继承子shell里定义的变量,(别名本身也是变量的一种形式)
在命令行里可以这样
alias d='date';d
而不能用&&这种形式!
发表于 2003-8-8 00:18:48 | 显示全部楼层
最初由 javalee 发表
在脚本中也可以,如:
alias d='date'
d
但是回到命令行里那么d这个别名就失效啦!!因为父shell不会继承子shell里定义的变量,(别名本身也是变量的一种形式)
在命令行里可以这样
alias d='date';d
而不能用&&这种形式!


J兄,这个也有问题。

alias d='date'; d
是不可以的,我试过,第一次出错,第二次可以,因为alias d 已经在了 ;)


#!/bin/sh
alias d='date'
d
是可以的

把sh换成bash就又不可以了。
可能的原因,sh是一行一行执行,而bash的效率较高,是一起执行的。

其实在我的系统里 sh -> bash :p
发表于 2003-8-8 00:34:23 | 显示全部楼层
:sorry...多谢老兄:thank
J兄,这个也有问题。

alias d='date'; d
是不可以的,我试过,第一次出错,第二次可以,因为alias d 已经在了
 楼主| 发表于 2003-8-8 08:32:09 | 显示全部楼层

我在lfs 的 boot cd 以后做的

我在lfs 的 boot cd 以后做的
我发现#!\bin\bash 或#!\bin\sh 都会出现 bad interpreter 的问题
发表于 2003-8-8 11:54:46 | 显示全部楼层
是不是刚从windows下过来的呀

斜线是不一样的
这里应该是
#!/bin/bash 或 #!/bin/sh
 楼主| 发表于 2003-8-8 13:01:40 | 显示全部楼层

sorry 上系笔误

#!/bin/bash 或 #!/bin/sh
发表于 2003-8-8 17:08:23 | 显示全部楼层
你是说,
#!/bin/bash 或 #!/bin/sh 也不行?
ls -l /bin/bash /bin/sh

看一下,是不是指向哪里被你删掉了。
 楼主| 发表于 2003-8-11 08:08:40 | 显示全部楼层

我看了 文件在

我用的lfs 的boot rom

可能才会有这个问题吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表