shell处理输入】的更多相关文章

linux shell提示输入 输错字符解决方法ctrl+回车 删除单个字符ctrl+u删除光标前全部字符ctrl+k删除光标后全部字符…
在shell脚本中,可以用几种不同的方式读入数据:可以使用标准输入—缺省为键盘,或 者指定一个文件作为输入.对于输出也是一样:如果不指定某个文件作为输出,标准输出总 是和终端屏幕相关联.如果所使用命令出现了什么错误,它也会缺省输出到屏幕上,如果不 想把这些信息输出到屏幕上,也可以把这些信息指定到一个文件中. 大多数使用标准输入的命令都指定一个文件作为标准输入.如果能够从一个文件中读取 数据,何必要费时费力地从键盘输入呢? 本章我们将讨论以下内容: •  使用标准输入.标准输出及标准错误. • …
if [ $# != 3 ] ; thenecho "USAGE: $0 from to"echo " e.g.: $0 ~/oucaijun/from ~/oucaijun/to"exit 1;fi ———————————————————————— $#代表了命令行的参数数量 位置参数 $1, $2,..., $N,$#代表了命令行的参数数量, $0代表了脚本的名字 -ne    不等于 ———————————————————————— UNIX Shell -&…
1.echo    echo [option] string -e 解析转义字符 -n 回车不换行,linux系统默认回车换行 转移字符 \c \t \f \n #!/bin/bash #echo echo -e "this echo's 3 newlne\n\n\n" echo "OK" echo echo "this is echo's 3 ewline\n\n\n" echo "this log file have all bee…
linux中文件描述符 linux跟踪打开文件,而分配的一个数字,通过这个数字可以实现对文件的读写操作 用户可以自定义文件描述符范围是:3-max,max跟用户的ulimit –n 定义数字有关系,不能超过最大值 在执行shell命令时,会默认3个文件描述符,分别是: 0 :通常是标准输入(STDIN) 1 :是标准输出(STDOUT) 2 :是标准错误输出(STDERR) 执行shell命令中,会先有输入然后才会有输出.输入可以从键盘.文件中获得,命令执行成功后会将结果输出到系统默认的位置(默…
在Linux的shell中,经常输入的命令有很多雷同,甚至是一样的, 如果是长命令,再次敲一遍效率真的是很低, 不过可以通过Ctl+r,  查找history中以前输入的命令,很是好用. 按Ctrl+r 之后,输入一些关键的命令,既是用模糊查询,进行查找. 比如我常用的 scp 按快捷键之后 (reverse-i-search)`scp':  dongjunjie@*.*.*.*:/home/dongjunjie/*.gz   ./ 即可出来.非常方便…
1.在运行脚本时指定参数,直接在脚本名称后边跟随需要添加的参数,在运行的过程中,$0代表程序名,$1代表第一个参数,$2代表第二个参数,一直到第九个,从第十个参数开始需要变成${10}等,即需要添加花括号.而在程序中,$#可以返回所有参数的个数,然而这并不代表说可以通过${$#}就能获得最后一个参数,实际上获取最后一个参数需要变成${!#}的格式. 2.在运行的过程中,可以通过不同的方式来同时获得所有的参数,$*将读取所有参数并将这些参数当成一个参数,而$@则会分别保存每个参数,使得可以在程序中…
#! /usr/bin/ksh count=$#  //总共输入参数 cmd="echo" while [[ $count -gt 0 ]] do cmd="$cmd \$$count " count=`expr $count - 1` done eval $cmd…
输出带有转义字符的内容 单独一个echo表示一个换行 使用echo输出时,每一条命令之后,都默认加一个换行:要想取消默认的换行,需要加 -n 参数. #!/bin/bash #文件名:test.sh echo "aaaaaaaaaaa" echo "bbbbbbbbbbb" echo -n "ccccccccccc" echo "ddddddddddd" 运行脚本: ubuntu@ubuntu:~$ ./test.sh aaa…
命令:read 从键盘读入数据,赋值变量 [root@ssgao shell]# cat b.sh #!bin/bash read a b c echo "a is : ${a}" echo "b is : ${b}" echo "c is : ${c}" -------------------上面的输出信息-------------- [root@ssgao shell]# sh -x b.sh // -x 表示进行跟踪执行 + read a…
一.文件描述符 文件描述符是一个非负的整数,Linux 中每个运行中的程序(进程),都有一些与之关联的文件描述符,你可以使用文件描述符来访问打开的文件或设备.在标准 I/O 库中,与文件描述符对应的是流.当一个程序开始运行时,它一般会有 3 个已经打开的文件描述符,分别对应三个文件流: 文件描述符 流 0 标准输入流(stdin) 1 标准输出流(stdout) 2 标准错误流(stderr) 显然,还有其他的文件描述符,这里暂时不做讨论.一般情况下,一个程序打开时,会去读取标准输入,将结果写入…
提供用户输入,直到输入d/D/r/R为止. #!/bin/bash ]; do echo -n "(D)ebug or (R)elease?" read select_build_type if [[ $select_build_type = "D" || $select_build_type = "d" ]]; then echo "======================" echo "Build In De…
概述 在 Linux 中输入设备指的是键盘,输出设备指的是显示器.在 Linux 中,所有的内容都是文件,计算机硬件也是文件,标准输入设备(键盘)和标准输出设备(显示器)也是文件.这些设备的设备文件名如下表所示. 设 备 设备文件名 文件描述符 类 型 键盘 /dev/stdin 0 标准输入 显示器 /dev/stdout 1 标准输出 显示器 /dev/stderr 2 标准错误输出 Linux 是使用设备文件名来表示硬件的(比如 /dev/sda1 就代表第一块 SATA 硬盘的第一个主分…
#!/bin/bash NC_START="nc 192.168.76.227 9999" LOOP= ;i<$LOOP;i++)) do $NC_START <<EOF $i EOF done 以上例子是一个调用 nc 命令向一个监听端口发送数据的例子. 这里 NC_START 只是一个例子, 在 <<EOF 之前可以是任意一个命令 EOF 是一个变量名,可以自定义,但必须成对出现. 在 XXX <<EOF  和 EOF 之前的任何字符(包括…
要求: 写一个脚本实现如下功能:输入一个数字,然后运行对应的一个命令.显示命令如下:*cmd meau**  1—date 2–ls 3–who 4–pwd当输入1时,会运行date, 输入2时运行ls, 依此类推. 脚本答案: [root@liang --]# cat case.sh #!/bin/bash cat<<-eof -date -ls -who -pwd eof read -p "*cmd meau**:" cmd case $cmd in ) /usr/bi…
$#  参数格式 $0 $1 $2 ...第一个,第二个参数...…
test.sh #!/bin/bash while read line do echo $line | tr '[a-z]' '[A-Z]' done 输出 dddddd DDDDDD sssss SSSSS cdcdcdc CDCDCDC ssssssssssss SSSSSSSSSSSS…
1 #!/bin/sh 2  3 while read line 4 do 5         str=$line 6         var1=`echo $str|awk -F ' ' '{print $1}'` 7         var2=`echo $str|awk -F ' ' '{print $2}'` 8         var3=`echo $str|awk -F ' ' '{print $3}'` 9         echo $var1 $var2 $var310     …
文件名: test.sh #!/bin/bash para="para: "; while [ $# -ge 2 ] ; do case "$1" in --aa) para="${para} argument $1 = $2;"; shift 2;; --bb) para="${para} argument $1 = $2;"; shift 2;; *) echo "unknown parameter $1.&qu…
shell中交互输入自动化 shell中有时我们需要交互,但是呢我们又不想每次从stdin输入,想让其自动化,这时我们就要使shell交互输入自动化了.这个功能很有用的哟.好好学习. 1    利用重定向     重定向的方法应该是最简单的 例: 以下的test.sh是要求我们从stdin中分别输入no,name然后将输入的no,name打印出来 [root@localhost test]# cat test.sh #! /bin/bash read -p "enter number:"…
shell中有时我们需要交互,但是呢我们又不想每次从stdin输入,想让其自动化,这时我们就要使shell交互输入自动化了. 1    利用重定向     重定向的方法应该是最简单的 例: 以下的test.sh是要求我们从stdin中分别输入no,name然后将输入的no,name打印出来 [root@localhost ~]# cat test.sh #! /bin/bash read -p "enter number:" number read -p "enter nam…
shell脚本的输入以及脚本拥有特效地输出 shell脚本输入之read命令 之前是直接在sh 后加参数 现在是另一种方式 语法:read -参数 -p:给出提示符.默认不支持"\n"换行 -s:隐藏输入的内容 -t:给出等待的时间,超时会退出read -n:限制读取字符的个数,触发到临界值会自动执行 在crt  打开 vi 123.txt -p -s -e 是换行 -t 另一种方式 shell脚本输出上色 语法:echo -e "\033[字背景颜色;字体颜色;特效字符串\…
在shell编程中,”EOF“通常与”<<“结合使用,“<<EOF“表示后续的输入作为子命令或子shell的输入,直到遇到”EOF“, 再次返回到主调shell,可将其理解为分界符(delimiter).既然是分界符,那么形式自然不是固定的,这里可以将”EOF“可以 进行自定义,但是前后的”EOF“必须成对出现且不能和shell命令冲突.其使用形式如下: 交互式程序(命令)<<EOF command1 command2 ...... EOF ”EOF“中间的内容将以标准…
1.考虑下面的需求,在主shell执行命令,进入其他的命令,后面的输入,想作为命令的输入,而不是主shell的输入,怎么办? 2.使用<<EOF,告诉主shell,后续的输入,是其他命令或者子shell的输入,直到遇到EOF为止,再回到主shell. 3.这里的EOF只是分界符,使用其他的字符也可以. 4.比如cat,不使用EOF,如下:[root@localhost ~]# cat >111.txtabcd1234 [root@localhost ~]# more 111.txtabc…
在shell编程中,”EOF“通常与”<<“结合使 用,“<<EOF“表示后续的输入作为子命令或子shell的输入,直到遇到”EOF“,再次返回到主调shell,可将其理解为分界符 (delimiter).既然是分界符,那么形式自然不是固定的,这里可以将”EOF“可以进行自定义,但是前后的”EOF“必须成对出现且不能和 shell命令冲突.其使用形式如下: 交互式程序(命令)<<EOF command1 command2 ... EOF        ”EOF“中间的内…
刚接触Linux时,对shell总有种神秘感:在对shell的工作原理有所了解之后,便尝试着动手写一个shell.下面是一个从最简单的情况开始,一步步完成一个模拟的shell(我命名之为wshell)的过程.这个所谓的shell和主流的shell还是有不少区别的,最大的区别是它本身不能执行shell脚本.也不能对一些复杂的命令行进行分析——原因很简单,我没有写相应的解释器.如果想自己实现一个简化的shell脚本解释器,如果有编译原理的知识准备,本身不是难事,但是工作量比较大,这里就不完成了,有兴…
1.给命令起别名:alias 执行下面命令后,可以使用dir代替ls –l 命令,显示目录中的文件详细信息: 还可以用一个别名表示几个命令 的结合: 2.ps:显示当前登录会话的所有活动进程: 3.更改默认shell:chsh chsh命令没有预安装,执行时,需要先联网安装. 执行chsh命令,过一会儿就会提示该命令找不到,是否要进行安装,输入y,即可下载包进行安装: 命令安装完了之后,再次执行chsh命令,即可为当前用户更改shell,输入新的shell即可实现更改. 查看环境变量SHELL或…
在HBase的shell命令行界面输入错误项按"退格键"删除,却怎么也删除不了: 解决办法: 第一步,修改SecureCRT的设置参数: 第二步,按"Ctrl+退格键(Backspace)"进行删除即可.…
假设有一个Py文件,放在下PycharmProjects/learn下,文件名是 myfile.py. 1.打开终端输入python3进入2.在shell下 输入import sys 回车3.输入 sys.path.append("PycharmProjects/learn") 回车4.输入 import myfile 回车 5.搞定…
作业管理 举例来说,我们在登陆 bash 后, 想要一边复制文件.一边进行数据搜寻.一边进行编译,还可以一边进行 vi 程序撰写! 当然我们可以重复登陆那六个文字介面的终端机环境中,不过,能不能在一个 bash 内达成? 当然可以啊!就是使用 job control 啦! 进行工作管理的行为中, 其实每个工作都是目前 bash 的子程序,亦即彼此之间是有相关性的. 我们无法以 job control 的方式由 tty1 的环境去管理 tty2 的 bash ! 或许你会觉得很奇怪啊,既然我可以在…