标签: bash

什么是/bin/dash?

我认为这/bin/sh是我选择的外壳的符号链接。我一直使用bash,所以我认为这/bin/sh会指向/bin/bash。但事实证明,它指向/bin/dash

它变得更有趣。我开始dash并执行echo $SHELL并打印/bin/bash(所以它们基本上相同?)。但是, 的手册页与 的手册页dash完全不同bash(所以它们一样?)。

linux shell bash

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

你如何在heredoc中转义字符?

我正在使用 bash 脚本,试图阻止它尝试替换我的 heredoc 中的变量。如何将heredoc设置为A)转义变量名称而不是解析它们或B)返回整个字符串不变?

cat > /etc/nginx/sites-available/default_php <<END
server {
    listen 80 default;
    server_name _;
    root /var/www/$host; <--- $host is a problem child
}
END
Run Code Online (Sandbox Code Playgroud)

照原样,当我完成将它注入文件时,我只剩下这个:

server {
    listen 80 default;
    server_name _;
    root /var/www/;
}
Run Code Online (Sandbox Code Playgroud)

linux bash heredoc

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

如何压缩具有大小限制的文件?

我有一个从文件夹中压缩文件的脚本。我想确保压缩文件不超过 10 MB。如果大小超过 10MB,则应创建另一个 ZIP 文件。

是否有任何命令(或其他方法)可用于此目的?

linux bash gzip

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

如何确定端口是否在 Ubuntu 8.04 上可用?

有没有我可以从 bash 运行的命令来告诉我端口是否已经打开?

ubuntu bash port

28
推荐指数
4
解决办法
8万
查看次数

如何使用 Bash 删除所有隐藏的文件和目录?

显而易见的解决方案产生的退出代码为 1:

bash$ rm -rf .*
rm: cannot remove directory `.'
rm: cannot remove directory `..'
bash$ echo $?
1
Run Code Online (Sandbox Code Playgroud)

一种可能的解决方案是跳过“。” 和 ".." 目录,但只会删除名称超过 3 个字符的文件:

bash$ rm -f .??*
Run Code Online (Sandbox Code Playgroud)

files bash

28
推荐指数
1
解决办法
4万
查看次数

如何在 Debian 中为所有用户设置 PATH?

我有一个 Debian Lenny 服务器,我希望www-data用户/usr/local/zend/bin在它的 PATH 中有一个,这样它就可以在 cron 中以www-data.

如何添加/usr/local/zend/bin到 PATH,以便www-data可以在/usr/local/zend/bin.

linux debian bash

28
推荐指数
2
解决办法
9万
查看次数

怎么逃!在密码?

如何摆脱密码中的感叹号:

$ mysql -umyuser -pone_@&!two
-bash: !two: event not found
Run Code Online (Sandbox Code Playgroud)

尝试明显的反斜杠没有帮助:

$ mysql -umyuser -pone_@&\!two
[1] 22242
-bash: !two: command not found
name@domain.com [~]# ERROR 1045 (28000): Access denied for user 'myuser'@'localhost' (using password: YES)
Run Code Online (Sandbox Code Playgroud)

我所有的谷歌搜索都表明反斜杠会有所帮助,但事实并非如此。没有办法按照这个问题中的建议使用引号。该行将用于 .bashrc 别名。别担心,这里显示的用户名和密码只是示例,不用于生产!

mysql linux bash

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

获取IP地址的Shell命令?

是否有 bash 命令来查找 Ubuntu 机器的 IP 地址?我需要找到 IP 地址,以便稍后通过 ssh 进入机器。

linux ubuntu bash command-line-interface ip-address

27
推荐指数
8
解决办法
13万
查看次数

不需要整行,只需要正则表达式的匹配

我只需要从正则表达式中获取匹配项:

$ cat myfile.txt | SOMETHING_HERE "/(\w).+/"
Run Code Online (Sandbox Code Playgroud)

输出必须只是括号内匹配的内容。

不要认为我可以使用grep因为它匹配整行。

请让我知道如何做到这一点。

shell bash grep regex

27
推荐指数
4
解决办法
8万
查看次数

sed 用一个空格替换所有制表符和空格

我得到了一个如下所示的字符串:

test.de.          1547    IN      SOA     ns1.test.de. dnsmaster.test.de. 2012090701 900 1000 6000 600
Run Code Online (Sandbox Code Playgroud)

现在我想用一个空格替换记录之间的所有制表符/空格,以便我可以轻松地使用它 cut -d " "

我尝试了以下方法:

sed "s/[\t[:space:]]+/[:space:]/g"
Run Code Online (Sandbox Code Playgroud)

和各种变体,但无法正常工作。有任何想法吗?

domain-name-system linux bash sed dig

27
推荐指数
2
解决办法
10万
查看次数