首页 > 系统相关 >shell语法2

shell语法2

时间:2023-01-10 21:33:34浏览次数:55  
标签:shell 重定向 echo 语法 hline file output txt

循环语句,重定向,函数,外部脚本

循环

格式一:

for…in…do…done

for i in a 2 cc
do
    echo $i
done

输出:a 2 cc

for i in $(seq 1 10)
do
    echo $i
done

输出 1 ~ 10

格式二:

for ((…;…;…)) do…done

for ((i=1; i<=10; i++))
do
    echo $i
done

break命令与continue命令

跳出当前一层循环,注意与C/C++不同的是:break不能跳出case语句。
多组读入注意文件终是Ctrl + d

for (( i=1;i<=10;i++ ))
do
    if [ `expr $i % 2` '==' 0 ]
    then
        continue
    fi
    echo $i
done
关闭进程:top命令找到进程的PID, kill -9 PID即可关掉此进程

重定向:

重定向命令列表

\[\begin{array}{|c|c|c|} \hline 命令&说明\\ \hline command > file&将stdout重定向到file中\\ \hline command < file&将stdin重定向到file中\\ \hline command >> file&将stdout以追加方式重定向到file中\\ \hline command n> file&将文件描述符n重定向到file中\\ \hline command n>> file&将文件描述符n以追加方式重定向到file中\\ \hline \end{array} \]

重定向输出:

echo -e "Hello \c" > output.txt  # 将stdout重定向到output.txt中
echo "World" >> output.txt  # 将字符串追加到output.txt中
read str < output.txt  # 从output.txt中读取字符串
echo $str  # 输出结果:Hello World

重定向输入:

[csp@localhost tmp]$ cat test.sh
#! /bin/bash
echo -e "Hello \c" > output.txt
echo -e "CSP\c" >> output.txt

read str < output.txt

echo $str

输出:
Hello CSP
例【重定向的读入重定向输出】:

add.sh:
[csp@localhost tmp]$ cat add.sh
#! /bin/bash
read a
read b

echo $(expr $a '+' $b)
=========================================
input.txt:
12
12
=========================================
测试:
[csp@localhost tmp]$ bash add.sh < input.txt > output.txt 
[csp@localhost tmp]$ cat output.txt 
24

外部脚本:

source filename 用法相当于C++中 include

标签:shell,重定向,echo,语法,hline,file,output,txt
From: https://www.cnblogs.com/Aidan347/p/17041395.html

相关文章

  • 13种Shell逻辑与算术,能写出5种算你赢!
    相较于最初的Bourneshell,现代bash版本的最大改进之一体现在算术方面。早期的shell版本没有内建的算术功能,哪怕是给变量加1,也得调用单独的程序来完成。1、算术方法一:......
  • java的基础语法
    java的基础语法注释/标识符/关键字注释注释并不会被执行,是给我们写代码的人看的。书写注释是一个非常好的习惯Java中的注释类型单行注释://+内容(需要换行写)可......
  • Google黑语法搜索
    site:搜索指定域名site:edu.cninurl:xxx搜索url中包含的内容inurl:login.jspintext:xxx文本中包含的内容intext:中国filetype:pdf"入党申请"filetype:pdfintitl......
  • try-with-resources 语法简介
    try-with-resources语法特点①资源说明头()中可以包含多个定义,用分号隔开(最后的分号可以省略)。资源说明头()中定义的每个对象都会在try块的末尾调用其close()。②try-wit......
  • 【shell】shell字符串分割|文件分割|剪切|截取 (转)
    目录一、字符串分割1、awk分割2、利用shell中变量的字符串替换成空格分割3、设置分隔符,通过IFS变量4、利用tr指令实现字符替换二、文件分割按行切割按时间切......
  • centos获取系统信息以及系统调优的shell脚本
    #!/bin/bash#2022-08-31#已在在centos7系统下完成测试,获取系统信息和参数调优#Madmaninfo(){echo"+--------------------------------------------------------......
  • Microsoft 365 开发:如何通过Powershell命令更换OneDrive Owner
    Blog链接:https://blog.51cto.com/13969817一般情况下,企业员工离职,作为IT,我们通常会在第一时间内清除离职员工账号,同时也会将离职员工的Mailbox或者OneDrive授权给接任的人,......
  • shell脚本,将多行内容写入文件中
    示例:#!/bin/bashecho"测试写文件"cat>test<<EOF这是一个由shell创建的文件thisisafilecreatedbyshell.wewanttomakeagoodworld.EOF其中,<<EOF表......
  • Shell脚本中的分号使用
    在Linux中,语句中的分号一般用作代码块标识1、单行语句一般要用到分号来区分代码块,例如:if["$PS1"];thenechotestisok;fitestisok该脚本或命令行中,需要两个......
  • 13种Shell逻辑与算术,能写出5种算你赢!
    相较于最初的Bourneshell,现代bash版本的最大改进之一体现在算术方面。早期的shell版本没有内建的算术功能,哪怕是给变量加1,也得调用单独的程序来完成。1、算术方法一......