三十分钟学会Shell(下)

Python爬虫实战:避开巨潮资讯网反爬,稳定获取上市公司年报PDF下载地址 本文详细介绍了如何使用Python和Selenium突破巨潮资讯网的动态加载限制,稳定获取上市公司年报PDF下载地址。通过模拟真实用户操作、智能等待策略和反反爬虫技巧,帮助开发者高效爬取财经数据,适用于股票代码查询和年报分析等场景。 阅读详情

Shell

在这里插入图片描述

3.1 运算符

3.1.1 算数运算符

在Shell脚本中,算术运算符用于执行基本的数学运算。Shell支持多种算术运算符,包括加、减、乘、除等。以下是关于Shell算术运算符的一些方法以及相应的示例说明:

加法:
a=10
b=20
c=$((a + b))
echo $c  # 输出:30

$((a + b))表示把a和b的值相加,并将结果赋给变量c。

减法:
a=30
b=20
c=$((a - b))
echo $c  # 输出:10

$((a - b))表示把a和b的值相减,并将结果赋给变量c。

乘法:
a=10
b=20
c=$((a * b))
echo $c  # 输出:200

$((a * b))表示把a和b的值相乘,并将结果赋给变量c。

除法:
a=30
b=3
c=$((a / b))
echo $c  # 输出:10

$((a / b))表示把a和b的值相除,并将结果赋给变量c。需要注意的是,如果除数为0,会导致脚本执行错误。

取余:
a=30
b=4
c=$((a % b))
echo $c  # 输出:2

$((a % b))表示把a除以b的余数,并将结果赋给变量c。

自增:
a=10
((a++))
echo $a  # 输出:11

((a++))表示将变量a的值自增1,即等价于a = a + 1。

自减:
a=10
((a--))
echo $a  # 输出:9

((a--))表示将变量a的值自减1,即等价于a = a - 1。

通过这些算术运算符,可以在Shell脚本中执行基本的数学运算,对变量进行自增和自减操作。需要注意的是,算术运算符需要使用$((...))或((...))语法进行运算,而不能直接使用数学表达式。

3.1.2 关系运算符

在Shell脚本中,关系运算符用于比较两个值之间的关系,返回布尔值(真或假)。Shell提供了多种关系运算符,包括 -eq、-ne、-gt、-lt、-ge 和 -le,分别用于判断相等、不相等、大于、小于、大于等于和小于等于等关系。以下是关于Shell关系运算符的详细介绍以及相应的示例说明:

-eq:相等

-eq用于判断两个值是否相等,如果相等则返回true。

示例:

a=10
b=10
if [ $a -eq $b ]; then
    echo "a 等于 b"
fi

输出:

a 等于 b
-ne:不相等

-ne用于判断两个值是否不相等,如果不相等则返回true。

示例:

a=10
b=20
if [ $a -ne $b ]; then
    echo "a 不等于 b"
fi

输出:

a 不等于 b
-gt:大于

-gt用于判断左边的值是否大于右边的值,如果是则返回true。

示例:

a=30
b=20
if [ $a -gt $b ]; then
    echo "a 大于 b"
fi

输出:

a 大于 b
-lt:小于

-lt用于判断左边的值是否小于右边的值,如果是则返回true。

示例:

a=30
b=40
if [ $a -lt $b ]; then
    echo "a 小于 b"
fi

输出:

a 小于 b
-ge:大于等于

-ge用于判断左边的值是否大于等于右边的值,如果是则返回true。

示例:

a=30
b=30
if [ $a -ge $b ]; then
    echo "a 大于等于 b"
fi

输出:

a 大于等于 b
-le:小于等于

-le用于判断左边的值是否小于等于右边的值,如果是则返回true。

示例:

a=30
b=30
if [ $a -le $b ]; then
    echo "a 小于等于 b"
fi

输出:

a 小于等于 b

通过使用这些关系运算符,可以在Shell脚本中进行条件判断,根据不同的关系运算结果执行相应的操作。需要注意的是,关系运算符需要在方括号中使用,并且变量周围需要有空格,以确保运算符正确解析。

3.1.3 逻辑运算符

在Shell脚本中,逻辑运算符用于对多个条件进行逻辑操作,返回布尔值(真或假)。Shell提供了多种逻辑运算符,包括逻辑或(-o 或 ||)、逻辑与(-a 或 &&)、逻辑非(!)等。以下是关于Shell逻辑运算符的详细介绍以及相应的示例说明:

逻辑或(-o 或 ||)

-o 或 || 表示逻辑或运算符,左右两边的条件只要有一个满足就返回 true。

示例:

a=10
b=20
if [ $a -eq 10 -o $b -eq 30 ]; then
    echo "a 等于 10 或者 b 等于 30"
fi

输出:

a 等于 10 或者 b 等于 30
逻辑与(-a 或 &&)

-a 或 && 表示逻辑与运算符,左右两边的条件都满足才返回 true。

示例:

a=10
b=20
if [ $a -eq 10 -a $b -eq 20 ]; then
    echo "a 等于 10 并且 b 等于 20"
fi

输出:

a 等于 10 并且 b 等于 20
逻辑非(!)

! 表示逻辑非运算符,对条件取反,如果条件为假,则返回 true。

示例:

a=10
if ! [ $a -eq 20 ]; then
    echo "a 不等于 20"
fi

输出:

a 不等于 20

可以组合使用逻辑运算符,实现复杂的条件判断。例如,使用逻辑或和逻辑与运算符进行混合操作:

示例:

a=10
b=20
c=30
if [ $a -eq 10 -a $b -ne 30 ] || [ $c -gt 20 ]; then
    echo "a 等于 10 并且 b 不等于 30,或者 c 大于 20"
fi

输出:

a 等于 10 并且 b 不等于 30,或者 c 大于 20

通过使用这些逻辑运算符,可以在Shell脚本中对多个条件进行逻辑操作,根据不同的逻辑运算结果执行相应的操作。需要注意的是,在条件判断语句中,逻辑运算符需要在方括号中使用,并且变量周围需要有空格,以确保运算符正确解析。

3.1.4 字符串运算符

在Shell脚本中,字符串运算符用于对字符串进行操作,返回布尔值(真或假)。Shell提供了多种字符串运算符,包括 -n、-z、=~、==、!=、<、>、-le 和 -ge 等。以下是关于Shell字符串运算符的详细介绍以及相应的示例说明:

-n:非空

-n 用于判断字符串是否为非空,如果非空则返回 true。

示例:

a="hello"
if [ -n $a ]; then
    echo "a 不为空"
fi

输出:

a 不为空
-z:空

-z 用于判断字符串是否为空,如果为空则返回 true。

示例:

a=""
if [ -z $a ]; then
    echo "a 为空"
fi

输出:

a 为空
=~:匹配正则表达式

=~ 用于匹配字符串与正则表达式,如果匹配成功则返回 true。

示例:

a="hello world"
if [[ $a =~ "world" ]]; then
    echo "a 包含 world"
fi

输出:

a 包含 world
==:等于

== 用于判断两个字符串是否相等,如果相等则返回 true。

示例:

a="hello"
b="hello"
if [ $a == $b ]; then
    echo "a 等于 b"
fi

输出:

a 等于 b
!=:不等于

!= 用于判断两个字符串是否不相等,如果不相等则返回 true。

示例:

a="hello"
b="world"
if [ $a != $b ]; then
    echo "a 不等于 b"
fi

输出:

a 不等于 b
<:小于

< 用于判断一个字符串是否小于另一个字符串,如果是则返回 true。

示例:

a="apple"
b="banana"
if [ $a \< $b ]; then
    echo "a 小于 b"
fi

输出:

a 小于 b
>:大于

> 用于判断一个字符串是否大于另一个字符串,如果是则返回 true。

示例:

a="banana"
b="apple"
if [ $a \> $b ]; then
    echo "a 大于 b"
fi

输出:

a 大于 b
-le:小于等于

-le 用于判断一个字符串是否小于或等于另一个字符串,如果是则返回 true。

示例:

a="apple"
b="banana"
c="apple"
if [ $a \<= $b ] && [ $a -le $c ]; then
    echo "a 小于等于 b,并且 a 小于等于 c"
fi

输出:

a 小于等于 b,并且 a 小于等于 c
-ge:大于等于

-ge 用于判断一个字符串是否大于或等于另一个字符串,如果是则返回 true。

示例:

a="banana"
b="apple"
c="banana"
if [ $a \>= $b ] && [ $a -ge $c ]; then
    echo "a 大于等于 b,并且 a 大于等于 c"
fi

输出:

a 大于等于 b,并且 a 大于等于 c

通过使用这些字符串运算符,可以在Shell脚本中对字符串进行条件判断,根据不同的字符串运算结果执行相应的操作。需要注意的是,在条件判断语句中,字符串运算符需要在方括号中使用,并且变量周围需要有空格,以确保运算符正确解析。

3.1.5 文件测试运算符

Shell 提供了丰富的文件测试运算符,用于检查文件的各种属性。下面是对一些常用的文件测试运算符的详细介绍以及相应的示例说明:
在这里插入图片描述

-e:文件存在

-e 用于检查文件是否存在,如果文件存在则返回 true。

示例:

file="example.txt"
if [ -e $file ]; then
    echo "$file 存在"
fi

输出:

example.txt 存在
-f:普通文件

-f 用于检查文件是否为普通文件,而不是目录或设备文件等特殊类型的文件。如果是普通文件则返回 true。

示例:

file="example.txt"
if [ -f $file ]; then
    echo "$file 是普通文件"
fi

输出:

example.txt 是普通文件
-d:目录

-d 用于检查文件是否为目录,如果是目录则返回 true。

示例:

dir="example"
if [ -d $dir ]; then
    echo "$dir 是目录"
fi

输出:

example 是目录
-s:非空文件

-s 用于检查文件是否为非空文件,如果文件大小大于0则返回 true。

示例:

file="example.txt"
if [ -s $file ]; then
    echo "$file 是非空文件"
fi

输出:

example.txt 是非空文件
-r:可读

-r 用于检查文件是否可读,如果文件可读则返回 true。

示例:

file="example.txt"
if [ -r $file ]; then
    echo "$file 可读"
fi

输出:

example.txt 可读
-w:可写

-w 用于检查文件是否可写,如果文件可写则返回 true。

示例:

file="example.txt"
if [ -w $file ]; then
    echo "$file 可写"
fi

输出:

example.txt 可写
-x:可执行

-x 用于检查文件是否可执行,如果文件可执行则返回 true。

示例:

file="script.sh"
if [ -x $file ]; then
    echo "$file 可执行"
fi

输出:

script.sh 可执行
-nt 和 -ot:新于和旧于

-nt 用于检查文件是否比另一个文件新,而 -ot 用于检查文件是否比另一个文件旧。这两个运算符可以用于比较文件的时间戳。

示例:

file1="file1.txt"
file2="file2.txt"
if [ $file1 -nt $file2 ]; then
    echo "$file1 比 $file2 新"
fi

输出:

file1.txt 比 file2.txt 新

通过使用这些文件测试运算符,可以在Shell脚本中轻松地检查文件的存在性、类型、权限以及时间戳等属性,从而根据文件的状态执行相应的操作。这些运算符为Shell脚本编程提供了强大的文件操作能力。

3.2 test命令

test命令是用于在Shell脚本中进行条件测试的工具,它也可以用方括号 [ ] 的形式来使用,因为test其实就是方括号的另一种表示方式。test命令接受不同的选项和参数,用于测试文件属性、字符串比较、算术比较等,根据测试结果返回不同的退出状态码,以便在Shell脚本中进行条件判断。

下面是test命令的一些常用选项和示例说明:

  1. 测试文件属性:

    • 用法:test -e file

    • 描述:检查文件是否存在。

    • 示例:

      file="example.txt"
      if test -e $file; then
          echo "$file 存在"
      fi
      
  2. 字符串比较:

    • 用法:test string1 = string2

    • 描述:检查两个字符串是否相等。

    • 示例:

      str1="hello"
      str2="world"
      if test $str1 = $str2; then
          echo "两个字符串相等"
      fi
      
  3. 整数比较:

    • 用法:test int1 -eq int2

    • 描述:检查两个整数是否相等。

    • 示例:

      num1=10
      num2=20
      if test $num1 -eq $num2; then
          echo "两个整数相等"
      fi
      
  4. 文件比较:

    • 用法:test file1 -nt file2 和 test file1 -ot file2

    • 描述:-nt 用于检查文件1是否比文件2新,而 -ot 用于检查文件1是否比文件2旧。

    • 示例:

      file1="file1.txt"
      file2="file2.txt"
      if test $file1 -nt $file2; then
          echo "$file1 比 $file2 新"
      fi
      
  5. 复合条件测试:

    • 用法:test condition1 -a condition2 和 test condition1 -o condition2

    • 描述:-a 表示逻辑与(and),-o 表示逻辑或(or)。

    • 示例:

      num=15
      if test $num -gt 10 -a $num -lt 20; then
          echo "$num 大于10并且小于20"
      fi
      

除了直接使用test命令以外,你也可以使用方括号的形式来进行条件测试,例如:

file="example.txt"
if [ -e $file ]; then
    echo "$file 存在"
fi

无论是使用test命令还是方括号形式,它们都能够帮助你在Shell脚本中进行条件判断,根据测试结果执行相应的操作。

3.3 Shell流程控制

Shell脚本中的流程控制可以帮助我们根据条件或循环来决定代码的执行路径。主要的流程控制结构包括条件语句(if-else)、循环语句(for、while、until)和跳转语句(break、continue)等。

下面是对Shell的流程控制结构的详细介绍以及相应的示例说明:

  1. 条件语句(if-else):

    • 用法:

      if condition; then
          # 条件为真时执行的代码块
      else
          # 条件为假时执行的代码块
      fi
      
    • 描述:根据给定的条件判断,决定执行哪个代码块。

    • 示例:

      num=10
      if [ $num -gt 0 ]; then
          echo "数字大于0"
      else
          echo "数字小于等于0"
      fi
      
  2. 循环语句(for):

    • 用法:

      for var in list; do
          # 循环体内执行的代码块
      done
      
    • 描述:遍历列表中的元素,每次迭代将列表中的一个元素赋值给变量,并执行对应代码块。

    • 示例:

      fruits=("apple" "banana" "orange")
      for fruit in ${fruits[@]}; do
          echo "水果:$fruit"
      done
      
  3. 多选择语句(case):

    • 用法:

      case value in
          pattern1)
              # 匹配模式1时执行的代码块
              ;;
          pattern2)
              # 匹配模式2时执行的代码块
              ;;
          pattern3|pattern4)
              # 匹配模式3或模式4时执行的代码块
              ;;
          *)
              # 以上模式都不匹配时执行的代码块
              ;;
      esac
      
    • case 语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。

    • 示例:

      #!/bin/bash
      
      fruit="apple"
      case $fruit in
          "apple")
              echo "Selected fruit is Apple"
              ;;
          "banana")
              echo "Selected fruit is Banana"
              ;;
          "orange"|"kiwi")
              echo "Selected fruit is Orange or Kiwi"
              ;;
          *)
              echo "Unknown fruit"
              ;;
      esac
      
      
  4. 循环语句(while):

    • 用法:

      while condition; do
          # 循环体内执行的代码块
      done
      
    • 描述:只要条件为真,就会一直执行循环体内的代码块。

    • 示例:

      num=1
      while [ $num -le 5 ]; do
          echo "当前数字:$num"
          num=$((num + 1))
      done
      
  5. 循环语句(until):

    • 用法:

      until condition; do
          # 循环体内执行的代码块
      done
      
    • 描述:只要条件为假,就会一直执行循环体内的代码块。

    • 示例:

      num=1
      until [ $num -gt 5 ]; do
          echo "当前数字:$num"
          num=$((num + 1))
      done
      
  6. 跳转语句(break):

    • 用法:break

    • 描述:跳出当前循环或选择结构,继续执行循环或选择结构之后的代码。

    • 示例:

      for num in 1 2 3 4 5; do
          if [ $num -eq 3 ]; then
              break
          fi
          echo "当前数字:$num"
      done
      
  7. 跳转语句(continue):

    • 用法:continue

    • 描述:跳过当前循环中余下的代码,进入下一次循环迭代。

    • 示例:

      for num in 1 2 3 4 5; do
          if [ $num -eq 3 ]; then
              continue
          fi
          echo "当前数字:$num"
      done
      

通过使用这些流程控制结构,你可以根据条件或循环来控制Shell脚本中的代码执行。这些结构提供了灵活性和可扩展性,使得Shell脚本能够处理各种不同的情况和需求。

3.4 Shell函数

在Shell脚本编程中,函数是一种重要的流程控制结构,用于封装一段可重复使用的代码块。通过定义函数,你可以将一组相关的操作组合在一起,并在需要时调用它们。下面是对Shell的流程控制函数的详细介绍以及相应的示例说明:

1. 定义函数:
function_name() {
    # 函数体内执行的代码块
    # 可以包含变量、命令、流程控制语句等
}

或者

function function_name {
    # 函数体内执行的代码块
    # 可以包含变量、命令、流程控制语句等
}
2. 调用函数:
function_name
3. 函数的示例说明:
#!/bin/bash

# 定义一个简单的函数
say_hello() {
    echo "Hello, World!"
}

# 调用函数
say_hello

在上面的示例中,我们定义了一个名为say_hello的函数,它的功能是输出"Hello, World!"。然后,我们通过调用say_hello函数来执行这段代码。

函数还可以接受参数,允许你向函数传递数据。下面是一个带有参数的函数的示例:

#!/bin/bash

# 定义一个带有参数的函数
greet() {
    name=$1
    echo "Hello, $name!"
}

# 调用函数,并传递参数
greet "Alice"

在上面的示例中,我们定义了一个名为greet的函数,它接受一个参数name。函数体内将参数赋值给变量name,然后输出"Hello, $name!“。通过调用greet函数并传递参数"Alice”,我们可以输出"Hello, Alice!"。

函数还可以返回值,在Shell脚本中使用return语句来实现。下面是一个带有返回值的函数的示例:

#!/bin/bash

# 定义一个带有返回值的函数
add_numbers() {
    num1=$1
    num2=$2
    sum=$(($num1 + $num2))
    return $sum
}

# 调用函数,并接收返回值
result=$(add_numbers 10 20)
echo "Sum: $result"

在上面的示例中,我们定义了一个名为add_numbers的函数,它接受两个参数num1和num2,计算它们的和并将结果赋给变量sum。然后,我们使用return语句返回sum的值。通过调用add_numbers函数并将返回值赋给变量result,我们可以输出"Sum: 30"。

通过使用函数,你可以将一段代码封装起来,提高代码的可重用性和可维护性。函数可以接受参数、返回值,并且可以包含变量、命令、流程控制语句等,让你的Shell脚本更加灵活和功能强大。

4. Shell脚本必须以.sh后缀结尾吗

不是必须的,可以不加.sh。但扩展名sh代表shell,可以让人看到后缀就知道是shell脚本,是一种命名规范,所以建议加上。

在Linux中,脚本的后缀并不影响其是否可以执行。Shell脚本的可执行性是根据文件的权限属性来确定的。

YoloV8优化:感受野注意力卷积运算(RFAConv),效果秒杀CBAM和CA等 | 即插即用系列 感受野注意力卷积运算(RFAConv),解决卷积块注意力模块(CBAM)和协调注意力模块(CA)只关注空间特征,不能完全解决卷积核参数共享的问题 阅读详情

相关推荐

本地使用大模型:Ollama+open-webui+AnythingLLM(Windows+linux)

随着大模型的发展,大量的开源模型可以被直接使用。大模型的使用可以选择在云端或者在本地,如果本地存储空间尚可,而且模型需求不是很大的话,我们可以选择在本地部署一个大模型来使用。针对特定的任务需求,进一步在本地去微调我们的大模型。我在windows和linux上都尝试了一遍,这里记录一下过程。

wpqgt的博客 2165

shell---1

shell

weixin_52158339的博客 531

Qt·DBus快速入门

DBus快速入门

m0_64560763的博客 2273

Shell编写,输入一个n计算1-n的和。

程序代码: #!/bin/bash read -p “请输入一个数字:” Num if [[ ! Num= [0−9]+Num =~ ^[0-9]+Num= [0−9]+ ]];then echo “你输入的不是一个正整数!请重新输入!” exit fi if [ $Num -eq 0 ];then echo “数字不能为零!请重新输入!” exit fi for i in $(seq 1 Num)doSum=Num) do Sum=Num)doSum=(( $Sum + i))

qq_44913716的博客 9178

手把手教你用ZLMediaKit搭建WebRTC直播:本地推流与播放实战

本文详细介绍了如何使用ZLMediaKit搭建WebRTC直播系统,涵盖从环境准备、编译部署、SSL证书配置到本地推流与播放的完整实战流程。通过一步步的指导,帮助开发者快速掌握基于ZLMediaKit的WebRTC推拉流技术,构建低延迟的实时音视频应用。

weixin_28842367的博客 347

基于OkHttp3+Retrofit2+RxJava3搭建响应式网络框架

本文介绍了一个基于OkHttp3+Retrofit3+RxJava3的响应式网络框架设计。该框架采用分层架构,OkHttp3负责底层网络请求,Retrofit3封装HTTP接口,RxJava3实现响应式流处理。核心亮点包括:1)高度解耦的分层设计;2)统一的异常处理和响应体封装;3)RxJava3实现线程切换和请求管理;4)MVVM架构适配,业务层只需关注数据逻辑。框架提供了完整的实现方案,包括全局配置、拦截器、响应转换、接口声明、仓库封装等组件,并支持生产环境扩展功能如Cookie持久化、Token刷新等

fuge2008的博客 871

linux判断值相等_shell:数值运算、条件测试、if判断

bash-completion包:支持tab补齐数值运算:整数运算、小数运算一、整数运算1、exprexpr A + B,A和B之间要空格,否则直接显示A+Bexpr A - Bexpr A * B #乘法需要采用转义\,避免被作为shell通配符expr A / B\:只能屏蔽一个字符e.g:[root@shell ~]# a=24[root@shell ~]# echo \$...

weixin_39646688的博客 3137

在windows中安装并启动ActiveMQ5.16.2

打开ActiveMQ官网 下载ActiveMQ 点击apache-activemq-5.16.2-bin.zip进行下载 下载发后解压到c盘根目录下 在powershell中输入 ./activemq start启动 ActiveMQ服务 htpp://127.0.0.1:8161访问ActiveMQ控制台 ...

934

Shell运算符使用

4.语法(运算符详解)03 shell算数运算 文档 前提条件 a=10,b=20 算数运算符 运算符 说明 含义 + 加法 expr $a + $b 结果为30 - 减法 expr $a - $b 结果为-10 * 乘法 expr $a \* $b 结果为200 / 除法 expr $a / $b 结果为2 % 取余 expr $a %$b 结果为0 = 赋值...

风炫灬梦想的博客 605

OpenCode + Oh My OpenCode:打造你的终极AI编程团队(OpenCode新手入门指南)

本文详细介绍了开源终端AI编程助手 OpenCode 的完整配置教程 🖥️,从安装、AI模型配置到增强插件 Oh My OpenCode 的部署一应俱全。支持 Claude、ChatGPT、Gemini 多模型切换 🤖,还能实现多AI智能体协作开发。步骤清晰适合新手 📝,想在终端用AI写代码的开发者不要错过 ✨

XiaoqiangClub的博客 1万+

【OpenFOAM】-olaFlow-算例4- irreg45degTank

不规则波浪模拟

ou_no的博客 2117

shell教程(3)变量(一):a=1?没那么简单

文章目录什么是变量,为什么需要变量?从底层理解变量创建和引用变量变量命名规则变量的作用域和变量类型全局变量局部变量环境变量变量的存活期参考 说到变量,大伙会想那还不简单吗?a=1,这不就是变量吗?还有什么好说的呢。但,程序中为什么需要变量?变量在计算机底层上究竟代表了什么?在bash中变量有哪些需要注意的呢?所谓基础不牢,地动山摇,所以各位看官大爷还是耐着性子往下看吧。 什么是变量,为什么需要变...

Neptuneyut的博客 1355

华为OD机试 - 末世分配资源包 - 二分查找 + 贪心(Python/JS/C/C++ 新系统 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。末世时代,政府为各地方配资源,现有资源分配表 nums[n],要求按如下规则分配给 k 个营地:在最优平均分配情况下,得到最大团队所获得的资源数4,3,6,9,7 216最佳划分之一:[4,3,6] -> 13 [9,7] -> 16最大

学Java,找哪吒 223

三十分钟学会Shell(上)

​ Shell 本身并不是内核的一部分,它只是站在内核的基础上编写的一个应用程序,是用户和Linux文件系统之间的桥梁。Shell 有自己的特殊性,就是开机立马启动,并呈现在用户面前;用户通过 Shell 来使用 Linux,不启动 Shell 的话,用户就没办法使用Linux。

diskindom的博客 564

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

三十分钟学会shell

本篇文章,你可以把它当做shell的入门教程来学习,你也可以把它当做shell学习的大纲,对应这里的每一个知识点进行更深入的学习(查资料或者看书),对于不是专业的Linux运维人员来说&lt;&lt;Linux shell 脚本攻略&gt;&gt;和&lt;&lt;Linux 命令行大全&gt;&gt;这两本书足够应付日常使用Linux的大部分问题.在这里附上学习shell时的小例子:https:...

newbietao的博客 623

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Shell脚本编程30分钟入门

在bash里,source和.是等效的,他们都是读入function.sh的内容并执行其内容(类似PHP里的include),为了更好的可移植性,推荐使用第二种写法。如果function.sh是用户传入的参数,如何获得它的绝对路径呢?real_path=`readlink - f $1 `# $1 是用户输入的参数,如 function . sh . $real_path。...

Add小兵的博客 380

三十分钟学会AWK

转载至:https://www.shiyanlou.com/questions/11255 转载请注明原文出处 -------------------------------------------------------------------------------------------------------------------- 三十分钟学会AWK 实验楼管理...

liuwei0376的专栏 443

【linux】三十分钟学会AWK

本文大部分内容翻译自我开始学习AWK时看到的一篇英文文章AWK Tutorial,觉得对AWK入门非常有帮助,所以对其进行了粗略的翻译,并对其中部分内容进行了删减或者补充,希望能为对AWK感兴趣的小伙伴提供一份快速入门的教程,帮助小伙伴们快速掌握AWK的基本使用方式,当然,我也是刚开始学习AWK,本文在翻译或者补充的过程中肯定会有很多疏漏或者错误,希望大家能够帮忙指正。 本文将会持...

a84480766的博客 317

shell 编程

i

实践出真理,接毕设/课设项目开发指导 286

Shell脚本:date命令

有关Shell脚本的一篇文章。

3y先生的博客 912

linux shell脚本编程 自动化脚本 awk sed grep find 文本分析 LinuxShell命令行及脚本编程实例详解

linux shell脚本编程 自动化脚本 awk sed grep find 文本分析 LinuxShell命令行及脚本编程实例详解 本文github window 下 从零开始——PowerShell应用入门(全例子入门讲解) 各种逗比脚本参考 参考代码1 参考代码2 Linux-Shell脚本编程书籍代码 把平时有用的手动操作做成脚本,这样可以便捷的使用 awk 与 sed 学习,包括了...

万有文的博客 1962

Shell实现监控MySQL Slave状态并通过邮件告警

SHELL实现监控mysql Slave 状态并通过邮件告警 实现思路: 1.使用直接查看mysql status获取Slave相关参数值,进行判断; 2.当延迟超过一定时间就发邮件进行告警; 3.Crontab里面,每三十分钟跑一次 详细代码如下: #!/bin/bash #crontab time :every minutes once #author : hzsnone@163.com #d...

qq625281334的专栏 545

Scrapy 爬取新闻

使用scrapy爬取新闻 #Item class AifranItem(scrapy.Item): # define the fields for your item here like: img = scrapy.Field() title = scrapy.Field() url = scrapy.Field() date = scrapy.Field(...

cc2415的博客 407

Vim三十分钟入门教程 前篇

这篇教程希望可以在短期内给希望使用Vim做处理,以及对Vim基础的一些命令不是很了解的使用者一个尽量简短的入门教程。 Vim是...? Vim(Vi iMprove)是从vi("Visual"的不正规缩写)发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。 (来源wiki)

CloudCraft的专栏 1487

【树莓派Zero入门】-第四章:写脚本执行拍照并上传到云+定时每三十分钟执行一次

1、在/home/pi目录下新建脚本:image.sh,并编辑如下内容: #!/bin/bash fswebcam -d /dev/video0 --no-banner -r 1280x720 -S 10 /home/pi/image.jpg curl -H "Expect:" -F 'file=@image.jpg' http://云接口路径 添加权限:chmod +x ./image.sh 查看执行结果: ./image.sh 2、添加定时任务: 安装:apt-get install.

小达哥的博客 865

如何三十分钟彻底解决魔兽世界字体乱码问题:字体合并工具完整指南

还在为魔兽世界聊天框里的中文方块字而烦恼吗?组队时队友发的中文消息变成一堆问号,任务说明里的特殊符号显示异常,这些字体乱码问题不仅影响游戏体验,更可能让你错过关键的游戏信息。今天,我将为你介绍一款能够彻底解决这些问题的专业工具——Warcraft Font Merger(魔兽世界字体合并工具),它通过智能的字体合并技术,让多语言文字在游戏中完美显示。 ## 第一部分:游戏字体问题的根源与解决方案

gitblog_00897的博客 662

shell 相关优秀文章汇总,持续更新。。。

三十分钟学会awk:   http://blog.jobbole.com/109089/ 三十分钟学会sed:    http://blog.jobbole.com/109088/#toc_39正则表达式30分钟入门教程: http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html...

zhngcho的博客 201
上一篇: 三十分钟学会Shell(上)
下一篇: spark的算子
地球魔
博客等级 码龄6年 317粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值