相关疑难解决方法(0)

sh和bash之间的区别

在编写shell程序时,我们经常使用/bin/sh/bin/bash.我经常使用bash,但我不知道它们之间有什么区别.

bash和之间的主要区别是sh什么?

我们究竟需要意识到在编程时bashsh

unix bash shell sh

1194
推荐指数
11
解决办法
46万
查看次数

当我用sh运行它时,为什么我的bash代码会失败?

我有一行代码可以在我的终端中正常工作:

for i in *.mp4; do echo ffmpeg -i "$i" "${i/.mp4/.mp3}"; done
Run Code Online (Sandbox Code Playgroud)

然后我在脚本中放入完全相同的代码行myscript.sh:

#!/bin/sh
for i in *.mp4; do echo ffmpeg -i "$i" "${i/.mp4/.mp3}"; done
Run Code Online (Sandbox Code Playgroud)

但是,现在运行时出现错误:

$ sh myscript.sh
myscript.sh: 2: myscript.sh: Bad substitution
Run Code Online (Sandbox Code Playgroud)

基于其他问题,我尝试将shebang更改为#!/bin/bash,但我得到完全相同的错误.为什么我不能运行这个脚本?

bash sh substitution

34
推荐指数
2
解决办法
7万
查看次数

sh shell中的自解压脚本

我如何制作一个可以执行的自解压存档sh

我最接近的是:

extract_archive () {
    printf '<archive_contents>' | tar -C "$extract_dir" -xvf -
}
Run Code Online (Sandbox Code Playgroud)

其中<archive_contents>包含带有空字符的tarball %,'以及\在单引号之间转义和包含的字符.

有没有更好的方法来做到这一点,以便不需要逃避?

(请不要指向我shar,makeself等等.我想从头开始写.)

shell self-extracting sh

3
推荐指数
1
解决办法
6584
查看次数

标签 统计

sh ×3

bash ×2

shell ×2

self-extracting ×1

substitution ×1

unix ×1