相关疑难解决方法(0)

为什么我的 Bash 脚本不能识别别名?

在我的~/.bashrc文件中有两个定义:

  1. commandA,这是更长路径的别名
  2. commandB,这是 Bash 脚本的别名

我想用这两个命令处理同一个文件,所以我写了以下 Bash 脚本:


#!/bin/bash

for file in "$@"
    do
    commandA $file
    commandB $file
done
Run Code Online (Sandbox Code Playgroud)

即使在退出会话并重新登录后,command not found当我运行此脚本时,Bash 仍会提示我输入两个命令的错误。

我究竟做错了什么?

bash alias

272
推荐指数
5
解决办法
22万
查看次数

`set -e` 在 bash 函数中

难道set -e不同的表现在这里

set -e;

function foo {

}
Run Code Online (Sandbox Code Playgroud)

对比

function foo {
  set -e;

}
Run Code Online (Sandbox Code Playgroud)

set -e属于内部的功能呢?set -e在函数外部声明是否会影响 shell 文件中的“嵌套”函数?反过来呢?我们应该叫local set -elol吗?

bash shell-script bash-functions

6
推荐指数
2
解决办法
3802
查看次数

标签 统计

bash ×2

alias ×1

bash-functions ×1

shell-script ×1