gpt4 book ai didi

linux - 使用 sh 运行 bash 脚本

转载 作者:IT王子 更新时间:2023-10-29 00:22:28 25 4
gpt4 key购买 nike

我有 bash 脚本,它需要 bash。

另一个人尝试运行它

sh script_name.sh

它失败了,因为在他的发行版中 sh 是指向 dash 的符号链接(symbolic link)。

$ ls -la /bin/sh
lrwxrwxrwx 1 root root 4 Aug 25 16:06 /bin/sh -> dash

我有一个使用包装脚本的想法:

#!/bin/sh
bash script_name.sh

目标是在具有指向 dash 的符号链接(symbolic link)的系统中通过 sh 和 bash 运行 .sh 脚本。

最佳答案

嗯,通常你使用 shebang告诉 shell 使用正确的解释器:

#!/bin/bash

# your script here

您必须将脚本设置为可执行:

chmod +x my_script.sh

让用户开始:

./my_script.sh

这似乎比使用包装器脚本简单。

即使用户使用 sh/dash 或任何类似 sh 的解释器,您也可以使用 jbr test 通过 bash 运行脚本:

#!/bin/bash

if [ -z "$BASH_VERSION" ]
then
exec bash "$0" "$@"
fi

# Your script here

这样它就可以正确地与任何一个一起工作:

sh ./my_script.sh

# or

bash ./my_script.sh

# or

./my_script.sh

关于linux - 使用 sh 运行 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19538669/

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