gpt4 book ai didi

linux - 直接命令行输入运行命令,但 bash 脚本不运行

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:52 33 4
gpt4 key购买 nike

我能够成功运行

/opt/hbase/hbase_current/bin/hbase

在命令行上,当连接到 GNU/Linux 集群时。

但是,当我将此命令作为 bash 脚本的一行时,错误是:

: No such file or directoryopt/hbase/hbase_current/bin/hbase

我做错了什么?

当我根据“which bash”的结果向 bash 脚本添加 header 时,出现以下错误:

bash: ./file.sh: /bin/bash^M: bad interpreter: No such file or directory

文件内容如下:

#!/bin/bash
ENTITY="'A.B.C'"
HBASE_SHELL="/opt/hbase/hbase_current/bin/hbase"
FILE="A.B.C.txt"
/opt/hbase/hbase_current/bin/hbase
#echo "scan $ENTITY" | $HBASE_SHELL > $FILE

最佳答案

哦,你的行尾有 DOS 风格的 CR/LF。您可以看到它们显示为 ^M

这样做:

tr -d '\r' < file.sh > newfile.sh
chmod +x newfile.sh
./newfile.sh

tr 命令以 -d 开始,这意味着删除 后面出现的所有内容,在本例中是表示 Carriage 的序列返回(CR)。

关于linux - 直接命令行输入运行命令,但 bash 脚本不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23549484/

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