【Ubuntu】alias设置的别名命令在终端正常执行在shell脚本中无法直接使用(command not found)?

这篇具有很好参考价值的文章主要介绍了【Ubuntu】alias设置的别名命令在终端正常执行在shell脚本中无法直接使用(command not found)?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

​alias设置的别名命令在终端正常执行在shell脚本中无法直接使用(command not found)?

1 背景👇🏻👇🏻👇🏻:

setup_test为在/root/.bashrc中使用alias设置的别名命令。setup_test在命令行正常执行,但是执行sh脚本,报错:setup_test:command not found

shell脚本内容如下: 

#!/bin/bash
setup_test

2 分析🐰🐰🐰:

shell分为交互模式和非交互模式。脚本执行方式默认为非交互模式,普通命令行方式则默认是交互模式,而alias在非交互模式下默认是无法使用的,即alias设置的别名命令报错:command not found。

3 解决方法💊💊💊:
具体做法是在shell脚本内容修改如下:

#!/bin/bash -i
setup_test

说明:#!/bin/bash是指此脚本使用/bin/bash来解释执行。其中,#!是一个特殊的表示符,后面的内容为解释此脚本的shell路径。文章来源地址https://www.toymoban.com/news/detail-486568.html

到了这里,关于【Ubuntu】alias设置的别名命令在终端正常执行在shell脚本中无法直接使用(command not found)?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch 字段别名 field-alias

    Elasticsearch 8.1 Kibana 8.1 MacOS 10.14.6 首先我们还是先了解一下, 什么是字段别名? 大家可能听说过 索引别名 ,通过索引的别名可以轻松的切换所需的数据来源与哪一个索引,那么什么是字段别名呢?所谓字段别名,就是索引mapping定义时的备用字段,通过字段别名可以替换搜索

    2023年04月18日
    浏览(74)
  • Elasticsearch中别名alias相关操作(创建、更新、删除)

            在Elasticsearch中,别名(alias)是一种将一个或多个索引(index)映射到一个逻辑名称上的方式。通过使用别名,我们可以为目标索引提供简洁、易于理解的名称,并将多个索引组合到一个别名下。         例如,假设我们有两个索引分别存储了不同时间段的日

    2023年04月20日
    浏览(78)
  • mac vscode 命令行启动命令安装 别名设置方法

    vscode 给我们提供了一个从命令行启动并打开vscode编辑器的shell脚本, 如 在vscode中打开当前文件夹,可以执行 code . 即可。 打开vscode  使用 ctrl + shift + p 快捷键打开命令行窗口, 然后输入 shell command  然后在选择 Shell Command: Install \\\'code\\\' command in PATH 即可在terminal 终端中安装

    2024年03月25日
    浏览(51)
  • linux文件上传和下载、别名设置以及命令解释器

    (1) 它类似于 ftp 传输协议,属于 ssh, 但它进行加密传输,相对 FTP 来讲有更高的安全性 (2)用法 查看文件下载情况-将文件内容copy到一个file1.txt文件中 将10.0.0.3的file1,txt文件上传到当前文件的目录下面 (3) 如果不知道远程主机的目录是什么样,  ls命令 可以列出10.0.

    2024年02月03日
    浏览(64)
  • 《基于 Vue 组件库 的 Webpack5 配置》7.路径别名 resolve.alias 和 性能 performance

    路径别名 resolve.alias 性能 performance

    2024年02月11日
    浏览(44)
  • 【Shell 命令集合 系统管理 】Linux 终端复用工具 screen命令 使用指南

    Shell 命令专栏:Linux Shell 命令全解析 screen命令是一个在Linux操作系统中使用的终端复用工具。它允许用户在一个终端窗口中同时运行多个终端会话,并且可以在这些会话之间自由切换。 screen命令的主要作用是提供一个“会话管理器”,可以在一个终端窗口中创建多个虚拟终端

    2024年02月05日
    浏览(74)
  • VScode编译多文件执行与配置终端命令行

    vscode 的配置分两类,一是全局的用户配置,二是当前工作区配置。vscode 打开的文件夹的根目录是一个工作区,.vscode目录就是存放当前工作区相关配置文件的目录。 这样分享项目时,也把该项目的 vscode 配置分享出去了,保证了协同工作开发环境的统一性。 .vscode目录下配置

    2024年02月06日
    浏览(52)
  • Redis 执行 RDB 快照期间,主进程可以正常处理命令吗?

    执行了 save 命令,会在主进程生成 RDB 文件,由于和执行操作命令在同一个线程,所以如果写入 RDB 文件的时间太长,会阻塞主进程。 执行 bgsave 过程中,由于是交给子进程来构建 RDB 文件,主进程还是可以继续工作的,此时主进程依然可以继续处理操作命令,也就是数据是能

    2024年02月11日
    浏览(47)
  • 终端(命令提示符或Windows PowerShell或Azure Cloud Shell)概述

    终端(命令提示符或Windows PowerShell或Azure Cloud Shell)是一种很 不 好用的东西 就是要背,很 不 爽 Windows 终端是一个新式主机应用程序,它面向你喜爱的命令行 shell,如命令提示符、PowerShell 和 bash(通过适用于 Linux 的 Windows 子系统 (WSL))。 它的主要功能包括多个选项卡、窗格

    2024年01月23日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包