🐉

隔空取物:吸星大法

🐉

第二十三回:化骨绵掌化去无形,吸星大法纳为己用

👱

师父,这招数打出去(输出)直接就飘散在空中(屏幕)了,能不能把它收进盒子里(文件)?还有,能不能把别人的内力(脚本)吸过来给我用?

👳

当然可以。把输出收进文件叫重定向(Redirection),把别人的脚本拿来用叫文件包含(Include)。这可是高深的内功心法!

📦 隔空取物 (输入输出重定向)

默认情况下,命令的结果是显示在屏幕上的。我们可以改变它的流向。

➡️ 输出重定向 (存盘)

  • command > file:把结果写进文件。注意:会覆盖原来的内容!(化骨绵掌,旧的都没了)
  • command >> file:把结果追加到文件末尾。(接骨术,接着后面写)

例子:echo "韦小宝到此一游" >> wall.txt

⬅️ 输入重定向 (读书)

  • command < file:让命令从文件里读内容,而不是从键盘读。

例子:wc -l < wall.txt (统计墙上有几行字)

🗑️ 垃圾桶 (/dev/null)

有个神奇的黑洞叫 /dev/null。任何东西扔进去都会消失。如果你不想看某个命令的输出,就把它扔进去。

command > /dev/null

🧛‍♂️ 吸星大法 (文件包含)

有时候,你想在一个脚本里用另一个脚本里定义的函数或变量。这就需要“吸”过来。

用法很简单,用点号 . 或者 source 命令。

# 假设有个 kungfu.sh 里面定义了 fight 函数

# 在 main.sh 里:
. ./kungfu.sh # 注意点号后面有空格!
# 或者
source ./kungfu.sh

fight # 现在可以直接用别人的招式了!

🖐️ 动手时刻:韦爵爷的记账本

  1. 编写通用配置 config.sh
    currency="银两"
    rate=100
                        
  2. 编写主程序 account.sh
    #!/bin/bash
    # 1. 吸取配置
    source ./config.sh
    
    echo "当前汇率:1 $currency = $rate 文钱"
    
    # 2. 记账(重定向)
    echo "收入:500 $currency" >> ledger.txt
    echo "支出:200 $currency" >> ledger.txt
    
    echo "记账完毕!账本内容如下:"
    cat ledger.txt
                        
  3. 运行: bash account.sh