标签: bash

#!/bin/sh 与 #!/bin/bash 的最大可移植性

我通常使用 Ubuntu LTS 服务器,从我理解的符号链接/bin/sh/bin/dash. 许多其他发行版虽然符号链接/bin/sh/bin/bash.

#!/bin/sh由此我了解到,如果脚本在顶部使用,它可能不会在所有服务器上以相同的方式运行?

当您希望在服务器之间最大程度地可移植这些脚本时,是否有建议将哪个 shell 用于脚本?

linux shell bash sh

37
推荐指数
2
解决办法
6004
查看次数

什么命令在 bash 中将字符串打印为“big ascii text art”?

我正在寻找一个程序,将 ASCII 字符串转换为类似于下面的“ascii 艺术”:

    .-"^`\ /`^"-。
  .' ___\ /___`。
 //.---. .---.\
| // '-. ___________________________ .-' \\ |
| ;| \/---------------------------// |; |
\ || |\_) 红帽 (_/| || /
 \ | \ . \; | 企业 Linux || ; / . / | /
  '\_\ \\ \ \ \ | ||/ / / // /_/'
        \\ \ \ \| 服务器版本 5.3 |/ / / //
         `'-\_\_\ 代号 Tikanga /_/_/-'`
                '---------------------------'

我没有匹配的示例,但我希望将字符串转换为一些多行文本,例如:

 __ __
/ | / |
| | …

scripting bash ascii

36
推荐指数
5
解决办法
5万
查看次数

在 Linux 中找出目录位于哪个分区?

有没有办法找出目录位于哪个分区?

我知道我可以df用来列出分区和挂载点,但我需要能够通过一个简单的命令找出任何目录所在的分区。

linux bash

36
推荐指数
1
解决办法
5万
查看次数

有没有理由在 zsh 上使用 bash?

我很好奇为什么要运行 bash 而不是 zsh。我的意思是 zsh 与 bash 完全向后兼容。不要误会我的意思:我不喜欢 bash 或任何东西。我只是真的想知道使用它是否比 zsh 有任何优势。

那么有什么理由使用 bash 而不是 zsh 呢?

scripting shell bash zsh

35
推荐指数
6
解决办法
2万
查看次数

bash脚本中的多选菜单

我是 bash 新手,但我想创建一个脚本,允许用户从选项列表中选择多个选项。

基本上我想要的是类似于下面的例子:

       #!/bin/bash
       OPTIONS="Hello Quit"
       select opt in $OPTIONS; do
           if [ "$opt" = "Quit" ]; then
            echo done
            exit
           elif [ "$opt" = "Hello" ]; then
            echo Hello World
           else
            clear
            echo bad option
           fi
       done
Run Code Online (Sandbox Code Playgroud)

(来自http://www.faqs.org/docs/Linux-HOWTO/Bash-Prog-Intro-HOWTO.html#ss9.1

但是,我的脚本会有更多选项,并且我希望允许选择多个选项。所以像这样:

1) 选项 1
2) 选项 2
3) 选项 3
4) 选项 4
5) 完成

对他们选择的那些有反馈也会很棒,例如在他们已经选择的旁边加号。例如,如果您选择“1”,我想分页清除并重新打印:

1) Option 1 +
2) Option 2
3) Option 3
4) Option 4
5) Done
Run Code Online (Sandbox Code Playgroud)

然后,如果您选择“3”:

1) Option 1 +
2) Option …
Run Code Online (Sandbox Code Playgroud)

scripting bash

35
推荐指数
4
解决办法
10万
查看次数

Bash:运行一个提供良好退出状态的可执行文件

我想在 Linux 中运行一个可执行文件,无论它返回什么退出状态,我都想返回一个好的退出状态。(即没有错误。)

(这是因为我正在使用sh -ex并且我希望脚本继续运行,即使一个(特定)命令失败。)

linux bash

35
推荐指数
1
解决办法
2万
查看次数

BASH 脚本,su 到 www-data 用于单个命令

我正在致力于自动创建 subversion 存储库和相关网站,如我写的这篇博文中所述。我在向 www-data 用户运行以下命令的部分遇到了问题:

svnadmin create /svn/repository
Run Code Online (Sandbox Code Playgroud)

在脚本的开头有一个检查,以确保它以 root 或 sudo 身份运行,并且该命令之后的所有内容都需要以 root 身份运行。有没有一种好方法可以将那个命令作为 www-data 运行然后切换回 root 来完成?

ubuntu su bash svn

35
推荐指数
3
解决办法
9万
查看次数

从终端会话中恢复正在运行的脚本

所以我使用GNU Screen来管理多个正在运行的脚本/程序。多路复用和可拆卸性非常有用。

我从磁盘中删除了一个脚本,现在我在查找备份时遇到了一些麻烦。但是,其中一个终端会话在删除文件之前正在执行脚本,并且它继续正常工作。

有没有办法劫持当前正在运行脚本的终端会话来恢复这个文件的内容?

linux bash terminal gnu-screen

35
推荐指数
1
解决办法
2953
查看次数

如何重复调用 rsync 直到文件成功传输

我正在尝试从不可靠的远程服务器同步文件,这意味着连接往往会“随机”失败

rsync:连接意外关闭

rsync 是用 --partial 调用的,所以我希望能够在循环中调用 rsync 直到文件完全传输。似乎没有告诉 rsync 重试的标志。

编写脚本的最佳方法是什么?bash for 循环?

linux bash rsync

34
推荐指数
3
解决办法
4万
查看次数

在 Linux 中合并 2 个目录树而不复制?

我有两个布局相似的目录树,即

.
 |-- dir1
 |   |-- a
 |   |   |-- file1.txt
 |   |   `-- file2.txt
 |   |-- b
 |   |   `-- file3.txt
 |   `-- c
 |       `-- file4.txt
 `-- dir2
     |-- a
     |   |-- file5.txt
     |   `-- file6.txt
     |-- b
     |   |-- file7.txt
     |   `-- file8.txt
     `-- c
         |-- file10.txt
         `-- file9.txt
Run Code Online (Sandbox Code Playgroud)

我想合并 dir1 和 dir2 目录树以创建:

 merged/
 |-- a
 |   |-- file1.txt
 |   |-- file2.txt
 |   |-- file5.txt
 |   `-- file6.txt
 |-- b
 |   |-- file3.txt
 |   |-- file7.txt …
Run Code Online (Sandbox Code Playgroud)

linux files bash

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

标签 统计

bash ×10

linux ×6

scripting ×3

shell ×2

ascii ×1

files ×1

gnu-screen ×1

rsync ×1

sh ×1

su ×1

svn ×1

terminal ×1

ubuntu ×1

zsh ×1