LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: lionheart28

请问在#!/bin/sh下怎么不换行?谢谢

[复制链接]
 楼主| 发表于 2004-5-13 09:21:00 | 显示全部楼层
BASH=/bin/bash
BASH_VERSINFO=([0]="2" [1]="03" [2]="0" [3]="1" [4]="release" [5]="sparc-sun-solaris")
BASH_VERSON='2.03.0(1)-release'
HISTFILE=/its/user4/z/zwei2/.bash_history
SHELL=/bin/bash
上面就是输出,对了,我是登陆远程服务器来运行SHELL的
发表于 2004-5-13 09:27:39 | 显示全部楼层
bash版本有点低,而且是solaris版本?
运行脚本的sh是bash,但不加可能就不用bash。

在你的脚本里加上以下一句试试看:
stty onlcr 0>&1
 楼主| 发表于 2004-5-13 09:38:50 | 显示全部楼层
加了,但是还是没用
但是我必须加上#!/bin/sh,否则就不能调用函数
请问还有什么办法吗?
实在是麻烦了,谢谢了
发表于 2004-5-13 09:44:42 | 显示全部楼层
我怀疑你登录的系统里有两个shell,其中一个就是bash。
那就加上#!/bin/sh呗。

要不你更新远程机器上的bash版本咯,没什么办法。

ps:请问远程系统是solaris吗?ft~~~
 楼主| 发表于 2004-5-13 09:51:52 | 显示全部楼层
我也不知道远程系统是什么。。。
算了,不能换行就算了
无论怎样,谢谢
发表于 2004-5-13 14:57:12 | 显示全部楼层

回复: 请问在#!/bin/sh下怎么不换行?谢谢

最初由 lionheart28 发表
比如说
echo -n "y/n ?"
read ans
...
想要打入ans得时候不换行,上面得是可以,但是如果加了#!/bin/sh,它就换行了。
我不要它换行,但是又必须要加#!/bin/sh,请问还有什么写法可以使它在加了#!/bin/sh后不换行?
问题很简单,谢谢


  1. #!/bin/sh
  2. function _do {
  3. stty raw
  4. dd </dev/tty bs=1 count=1 2> /dev/null
  5. stty -raw
  6. }
  7. echo -n "y/n ?"
  8. input=$(_do)
  9. echo
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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