shell EOF 用户自定义终止符】的更多相关文章

#!/bin/bash ftp -n << EOF user guest 123456 binary cd /home/ prompt mget * close bye EOF 使用Tab缩进 #!/bin/bash ftp -n <<-EOF ... EOF 注:<<后面不能有空格…
EOF自定义终止符用法 我们在脚本中经常会发现使用EOF的情况.EOF可以结合cat命令对内容进行追加.比如:执行脚本的时候,需要往一个文件里自动输入多行内容.如果是少数的几行内容,可以用echo命令追加,但如果是很多行,那么单纯用echo追加的方式就不太适合了. 1.语法格式: <<EOF //开始 .... EOF //结束 PS:EOF不是固定的,可以自定义其他,但需注意,结束符和起始符要保持一致 2.重定向符号: < :输入重定向 > :输出重定向 >> :输出…
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编程系列2--字符串的处理 字符串的处理 .计算字符串的长度 方法1 ${#string} 方法2 expr length "$string" (如果string中间有空格,必须加双引号) 例子: # 通过${#string}获取字符串长度 [root@localhost shell]# var1="hello world" [root@localhost shell]# len=${#var1} [root@localhost shell]# echo…
一般而言,编程语言中使用分号";"来实现两种目的: 作为语句分隔符:使用分号来分隔语句(statement),这样就能在一行代码中书写多条语句(一行多句) 作为语句终止符:使用分号来终止语句,这样就能把多行代码识别为一条语句(一句多行) 单纯看"分隔符"与"终止符",它们都是必须的,然而是否都要用分号来表示呢?这个问题没有达成一致的标准. Python 中使用了分号作为语句分隔符,但是不用分号作为终止符, 而是用了换行作为终止符. 若在一句完整的…
#!/bin/bash      最近在看shell,各种困惑,不过解决困惑的感觉还是很不错的.废话少说,linux中使用文件描述符来标识每个文件对象.文件描述符为一个非负整数,可以唯一标识会话中打开的文件.每个过程最多可以有9个文件描述符.     linux使用的标准文件描述符:     标准输入STDIN就是0,标准输出STDOUT就是1,标准错误输出STDERR就是2.而我们也可以自己创建文件描述符3~8.     将今天看到的一段代码: 1    #!/bin/bash 2    ex…
1 shell通配符 通配符看起来有点象正则表达式语句,但是它与正则表达式不同的,不能相互混淆.把通配符理解为shell特殊代号字符就可. 二.shell元字符 shell除了有通配符之外,由shell负责预先先解析后,将处理结果传给命令行之外,shell还有一系列自己的其他特殊字符. 三.shell转义符 有时候,我们想让通配符,或者元字符变成普通字符.那么这里我们就需要用到转义符了. shell提供转义符有三种…
当sqlplus与shell交互的时候我们这么用 su - oracle -c "sqlplus / as sysdba<<EOF select * from gv($instance); exit; EOF" 这个程序看起来没什么问题,真正运行的时候会报错. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravi…
举个例子: gawk 'BEGIN{ var[ var[ var[ var[ asort(var,test) for(i in test) print ] }' 这时候敲回车就能输出 Index: - value: Index: - value: Index: - value: Index: - value: 前面写脚本的时候因为电子版的书上完全看不清,我就看招原先写php的连接符(英文的句号),结果总是出错 就比如我把上述程序的逗号改成点,出现的错误如下 : print ] : ^ synta…
说明:过滤换行符确实有点吭,不是那么好弄.处理文本时需要将换行符替换为空格,若使用sed命令会比较麻烦,而使用tr命令非常方便. 输入文本(country.txt) China America France German sed命令 cat country.txt | sed ':label;N;s/\n/ /;b label' tr命令 cat country.txt | tr "\n" " " 两个命令输出一致,但是sed命令的输出结尾有换行符,而tr命令的输出…