触发需要执行的脚本sh的别名

Posted

技术标签:

【中文标题】触发需要执行的脚本sh的别名【英文标题】:alias to trigger script sh that needs to execute 【发布时间】:2015-10-15 12:20:55 【问题描述】:

这里是初学者,一直在阅读和尝试很多想法,现在有点沮丧。

了解别名和 bash 函数

这一切都开始了,因为我正在努力学习 swift,上周我遇到了一个错误,这让我陷入了数小时的混乱。但最终发现有关转储派生数据的其他修复程序以清除缓存以及清理和构建。为什么不一口气完成所有这些。

所以在不得不这样做之后,我觉得必须有一种方法可以使用 exe 函数来做到这一点。我正在使用带有 el cap 的 MacBook Pro

然后我遇到了别名。一个全新的野兽出现了。在某处阅读以创建 aliases.sh 并将 bash_profile 指向那里。所以我做到了。我掌握了基础知识。并试图将其放入 aliases.sh 中的一个函数中,但这不起作用。所以我试图创建一个不同的 .sh 并从 aliases.sh 触发它。终端不喜欢那样。不断出现错误,我摆脱它们的唯一方法就是删除它们并从头开始。已经这样做了几次。

这就是我所拥有和正在尝试做的描述。

'nano ~/.bash_profile
it opens and i type in there: source /Users/xx/.aliases.sh   # General aliases
control o + enter
nano ~/.aliases.sh
it opens and in there I add basics that i have found looking around
alias ls="ls -CF"  # Column and file ext
alias ..="cd .."   # back up quicker      ****you get the idea****

alias xc="/Users/xx/.xcodeReset.sh"'

在我输入最后一行之前,一切都很顺利。以及随之而来的 bash 问题。这就是我在 xcodeClean.sh 中的内容。不得不放照片。无法想出我们复制粘贴的方法而不会造成巨大的混乱。

xcodeReset.sh /br

所以我尝试从 .sh 中取出 bin/bash,尝试将 bash 放在 /users/ 前面,但正如您可能知道的,每当我运行终端时,我从一开始就有错误。我所做的任何事情都无法超越他们。我能回到干净的新终端外观的唯一方法是删除 xcodeReset 和别名并重新开始。现在我可以继续从记事本中复制和粘贴该代码。但我知道有办法绕过这个小恶魔。我在这里和其他论坛找到了这个用于 xCode 的清洁器。我只是想让它使用一个简单的别名运行。

我在这里很年轻,并且可以解决我知道可能的事情。如果您有任何帮助,我将不胜感激。太多的夜晚彻夜寻找答案。

【问题讨论】:

【参考方案1】:

    阅读系统上 Bash 的手册页 - 它应该描述 “启动顺序”以及用于别名的文件等。

    在“tmp”文件中,创建您希望“测试”的别名,完成后,

    您可以通过以下方式模拟您的登录将如何使用这些别名 使用“源”命令,即source ~/your_test_file

    运行 'source' 命令后,所有别名都应为 可供使用/测试 - 直到您注销(或以其他方式 重新初始化您的登录环境...)

    “源”测试一切顺利,然后将您的测试文件复制到所需的 ~/*.rc 文件中(即 `/.bashrc')

    现在“测试真实”(注销并重新登录 - 一切正常?)

:) 戴尔

【讨论】:

大部分情况下,我可以在我的系统上运行 bash。我还没有深入挖掘。但是 git 让我尝试了很多新事物。在我的第一篇文章中进行了源代码测试。试图让 xcodeseter 运行。据我所知,El cap。我一打开终端就加载 bash。我主要只是想要快速按键并输入并触发 Xcode 的关闭、清除缓存、转储派生数据和重新启动。我只是因为sheBang而遇到问题。我把它拉出来,不能让脚本自己运行。我把它放回去了,到处都弹出错误。 嗯,这听起来与原始查询“不同”;确保您的文件中没有“特殊代码”,即 cat -ve yourfile (请参阅您的系统的“man cat”;如果您看到任何“^”代码,那些 ('^M' == '\r ' 在我的系统上)将冲洗您的脚本... 只是重新响应以使这个问题重新回到堆栈中。也许有新人会看到它,并且可以给我一行我可以研究以使该脚本作为别名工作的行。

以上是关于触发需要执行的脚本sh的别名的主要内容,如果未能解决你的问题,请参考以下文章

linux 远程调用脚本执行后不继续执行后续命令,需要输入ctrl+c,详细见补充

如何在shell中执行一个模块,这个模块需要传入参数

sh kafka bash别名bash脚本

博科光纤交换机端口别名映射脚本

CentOSOpenWrt 批量网络唤醒持续至开机正常

执行shell脚本的三种方式