gpt4 book ai didi

linux - ": Command not found"

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:42:56 36 4
gpt4 key购买 nike

采购您的一个 env 文件(一系列变量导出)时出现一些问题

例如:

...
export MY_ROOT=/Soft/dev/blah/blah
export MY_BIN=${MY_ROOT}/bin
...

结果

$. my_env.sh
$echo $MY_BIN
/bint/dev/blah/blah

=> "/bin"似乎覆盖了变量的开头而不是后缀..

有什么想法吗?

顺便说一句,每次我们获取这个文件时,都会报告一条错误消息:

": Command not found"

这很奇怪.. 即使我们评论了它的全部内容,这条消息也会出现。

开始时调用的 shell 看起来不错 #!/bin/sh,或 #!/bin/bash

控制字符呢?如何在 linux 上筛选它们?

最佳答案

“:未找到命令”是我在 MS Windows 系统(错误)处理 UNIX/Linux shell 脚本时看到的错误。例如,如果使用 WebCVS checkout ,使用记事本或写字板修改,然后重新提交。

(它提示找不到 [Ctrl-M] 可执行文件 --- 这是一个完全有效的文件名,但对于 UNIX/Linux 来说极其不方便且有些可疑)。

通过 GNU cat -Aod -xhexdump 命令运行文件以查看这些(并验证我的诊断.. . 或通过 tr -d 为您的系统使用适当的引号和 shell “逐字”处理来运行它。(例如 tr -d '[Ctrl-V],[Ctrl-M] ' 在典型 Linux 系统上的 Bash 下)。

根据您的 tr 版本,您可以使用:tr -d '\r'tr -d\015 (015 是 CR 的八进制,“回车”或 ^M --- MS-DOS 曾经使用 CR/LF 对作为行终止,这只是 MS-DOS 可以在被遗忘的深渊中腐烂的众多原因之一当谈到互操作性时。单个字符的行终止符不会给其他任何人带来真正的问题......但是当主流计算历史上的其他所有东西都使用单个字符时,PAIRS 会导致真正的转换问题)。

哦,是的,vim 有一个方便的 set ff(又名 set fileformat 选项,它可以处理来自 vim 任何副本的 UNIX、MacOS 和 MS-DOS 行终止约定,无论您使用的是哪个平台。我似乎记得 vim default 是检测文件正在使用的行终止类型并保持不变(当然,对于任何新文件,默认为您平台的 native )。

关于linux - ": Command not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1666706/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com