+ -
当前位置:首页 → 问答吧 → 如何实现在同一行输入?

如何实现在同一行输入?

时间:2011-03-14

来源:互联网

./test.sh
Please input smm floatip:
1.1.1.1

我想实现输入的 ip跟 Please语句在同一行  请问如何实现?

作者: chinaboywg   发布时间: 2011-03-14

echo -n 还是不 -n的问题吗?

作者: expert1   发布时间: 2011-03-14



QUOTE:
echo -n 还是不 -n的问题吗?
expert1 发表于 2011-03-14 10:01




    谢谢 明白了

作者: chinaboywg   发布时间: 2011-03-14

read -n

作者: where27   发布时间: 2011-03-14

read -p "key in a word :" input
echo $input

./readp.sh
key in a word :sd
sd

作者: 昭襄王   发布时间: 2011-03-14

回复 expert1


    可是我想输入
Please input the smm username :root  默认用户为root
执行的时候
如果是默认我就回车
不是默认我就把root修改为别的 如何做到 root可修改呢

作者: chinaboywg   发布时间: 2011-03-14



QUOTE:
read -n
where27 发表于 2011-03-14 10:07




   
    可是我想输入
Please input the smm username :root  默认用户为root
执行的时候
如果是默认我就回车
不是默认我就把root修改为别的 如何做到 root可修改呢

作者: chinaboywg   发布时间: 2011-03-14

回复 chinaboywg


    描述的有点问题吧?
是不是说如果直接回车就使用默认的root,否则输入新的用户

作者: where27   发布时间: 2011-03-14

  1. DEFAULT=root    ;设置默认变量值为root
  2. echo -n "Please input the smm username <$DEFAULT>:" ;输出提示语,默认为root
  3. read  ANS        ;读取输入,保存在变量ANS里
  4. : ${ANS:=$DEFAULT} ;判断变量ANS是否为空,如果是空就把变量DEFAULT的值也就是root赋给ANS
  5. echo $ANS                ;输出
复制代码
是不是要这样的?

作者: where27   发布时间: 2011-03-14

read -p "Please input the smm username:root" ans
if [ -z $ans ]
then
ans=root
fi
echo $ans

作者: mercuyr   发布时间: 2011-03-14



QUOTE:
read -p "Please input the smm username:root" ans
if [ -z $ans ]
then
ans=root
fi
echo $ans
mercuyr 发表于 2011-03-14 10:47




    你的什么系统 我的输出杂跟你的不一样啊  在第一行就把ans打印出来了

作者: chinaboywg   发布时间: 2011-03-14



QUOTE:
是不是要这样的?
where27 发表于 2011-03-14 10:43




    呵呵 是要这样的啊
  
   不过我还想校验下输入的 只能是字母不能是数字 格式是怎样的?

作者: chinaboywg   发布时间: 2011-03-14

回复 chinaboywg


    加一个判断语句
比如if echo "$ANS"|grep -v "[A-Za-z]"
判断是不是只有字母

作者: where27   发布时间: 2011-03-14



QUOTE:
回复  chinaboywg


    加一个判断语句
比如if echo "$ANS"|grep -v "[A-Za-z]"
判断是不是只有字母
where27 发表于 2011-03-14 11:20




    哦 知道了


为什么我判断当等于7或者等于8 不可以,  而判断只等于7就可以呢 ?  我检查了语法没有错误啊

echo -n Please input switch slot \(7 or 8\):
read switch_solt
while [ "X${switch_solt}" != "X7" -o "X${switch_solt}" != "X8" ]
do
    echo -n Please input switch slot \(7 or 8\):
    read switch_solt
done

作者: chinaboywg   发布时间: 2011-03-14

回复 chinaboywg


    echo -n "please :"

作者: db2-zhang   发布时间: 2011-03-14