小编Dan*_*iel的帖子

从 shell 提示接受“是”变体的更好方法

我编写的一个 shell 脚本的可用性测试发现,人们对如何回答一个期望答案为“是”的问题有不同的期望。请参阅以下代码示例中的变体。

当然,我想出的方法一定有更好的方法吗?您对此有何可读性更短的形式

read -p 'Answer this question with yes: ' answer
if [ "$answer" = 'Y'
  -o "$answer" = 'YES'
  -o "$answer" = 'Yes'
  -o "$answer" = 'y'
  -o "$answer" = 'yes'
  -o some-alternate-condition ]; then

  echo 'Surely this can be written better?'
fi
Run Code Online (Sandbox Code Playgroud)

bash prompt shell-script

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

在发生时监控传出的 Web 请求

我想从我的桌面查看所有传出 HTTP 请求的列表。我认为应该可以使用服务器名称指示 (SNI) 监控本地客户端的 HTTPS 主机名。

OS X 有一个很好的 GUI 实用程序,称为Little Snitch,它是一个基于应用程序的 HTTP 监视器和防火墙规则前端。

我会满足于一个不错的终端实用程序。tcpdump是矫枉过正,因为我只想实时查看流量的去向而不是传输的数据。理想情况下,我也想看看是什么进程发出了请求,但只要看看是什么拨号回家就不错了。

networking monitoring http privacy https

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

清理临时文件 ~/.cache/duplicity/temp 失败

通常,当我运行 Duplicity 时,我会在运行结束时看到这样的错误消息:

Cleanup of temporary file /home/user/.cache/duplicity/9a169830d41477b2dbc3c5b32edd4e8a/duplicity-MEXhMY-tempdir/mktemp-StAkzj-1 failed
Run Code Online (Sandbox Code Playgroud)

提到的目录将包含十个左右的文件,下次运行 Duplicity 时将删除这些文件。

知道为什么在运行增量备份时有时会失败吗?我自己没有看到任何模式,也很难找到其他人提到同样的问题。某个电子邮件列表上的某个人曾经提到他的语言环境给 Duplicity 造成了问题。我尝试从我的正常挪威 bokmål 语言环境更改为 en-US,但仍然看到问题。

这只是 Duplicity 的正常操作吗?

在三个不同的系统上看到它:两个 Ubuntu 13.04 64 位桌面和一个 Ubuntu Server 13.04 64 位。

backup cache duplicity

12
推荐指数
1
解决办法
3946
查看次数

如何拆分 $0 变量以在 bash 中查找目录和相对路径?

$0 变量包含脚本的路径信息。

  • 如何将路径信息更改为绝对路径?我的意思是如何处理 ~, ., .. 或类似的?
  • 如何将路径信息拆分为目录和文件名?

我可以为此使用 python/perl,但如果可能,我想使用 bash。

bash parameter

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

调试 shell 脚本:语法检查而不执行

是否有一些选项我可以只检查 [bash] shell 脚本的语法来检查它的语法,但实际上不执行任何操作也不会造成任何潜在的损害?

bash shell-script testing

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

跨发行版/操作系统打包

Fedora、FreeBSD、OS X(Homebrew、MacPorts)、Ubuntu、Debian 等都使用不同的打包系统进行二进制和源代码分发。

当我开发一个新的应用程序时,我想让尽可能多的用户一开始就可以使用它。但是学习所有不同的打包工具和约定需要大量的工作。我可以管理,但必须有更简单的方法。

有没有我应该知道的超级工具可以用来减轻维护和学习所有这些打包系统的开销?

packaging

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

从休眠状态恢复后 WiFi 无法工作(身份验证超时)

我的英特尔 6205 无线网卡休眠后不工作。它有时在启动时也不起作用,以同样的方式失败。有时,它也会在连续使用约 10 分钟后停止工作。

我已经尝试了以下组合:modprobe -r iwlwifi在冬眠之前和之后(或当问题发生时),然后是modprobe iwlwifi; 然后systemctl restart network-managersystemctl restart NetworkManager。这些解决方案是所有症状搜索结果的重点。

我还应该尝试什么?

配置:

  • Debian 杰西
  • 内核 3.14.4-1
  • 网络管理器 0.9.8.10
  • 英特尔 6205 rev 96 (iwlwifi)
  • 联想 ThinkPad X1 Carbon
$ dmesg
wlan0: authenticate with 47:f2:2f:91:db:7b
wlan0: Wrong control channel: center-freq: 5500 ht-cfreq: 5180 ht->primary_chan: 36 band: 1 - Disabling HT
wlan0: direct probe to 47:f2:2f:91:db:7b (try 1/3)
wlan0: direct probe to 47:f2:2f:91:db:7b (try 2/3)
wlan0: direct probe to 47:f2:2f:91:db:7b (try …
Run Code Online (Sandbox Code Playgroud)

networking wifi wpa-supplicant thinkpad networkmanager

7
推荐指数
1
解决办法
5094
查看次数

备份和恢复系统用户帐户

我将如何完全备份用户帐户并在新系统上恢复它?主目录只是“复制和粘贴”。但是,诸如帐户密码之类的东西呢?以及它的 UID 和 GID?

Dovecot SASL 使用这些帐户为 Postfix、服务和其他应用程序提供身份验证。所以我担心我不会在备份中得到所有东西;或冒着无法完全恢复有价值的用户数据的风险。

系统是 Ubuntu 11.04。

users pam backup

6
推荐指数
1
解决办法
1628
查看次数

类似于适用于 Mac 的 Little Snitch 的传出防火墙应用程序

有没有类似于Little Snitch的 Linux 应用程序?Little Snitch 是一个传出防火墙,它会暂时阻止传出的网络请求,直到用户决定是否允许连接。Little Snitch 最强大的功能是它能够告诉每个应用程序想要与之通信的主机名,并根据主机名或应用程序制定永久或临时阻止规则。所有这些都在一个非常简单方便的用户界面中。

firewall privacy

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

如何查看哪些字体支持给定字符?

假设我正在查找我安装的哪些字体支持给定 Unicode 字符的列表。说?和 ?字符(星号和表情符号微笑)。我将使用什么图形程序来预览给定字体中的这些字符?

fonts

5
推荐指数
0
解决办法
651
查看次数

两个异步子 shell 命令可以安全地写入共享的标准输出吗?

stdout 是否可以被两个异步运行的 bourne(或 bash,如果重要的话)子 shell 命令覆盖?

\n\n
(tail -f ./file1 & tail -f ./file2) | cat\n
Run Code Online (Sandbox Code Playgroud)\n\n

我不关心行顺序,只是每个输出行都由一个输入行组成。I\xe2\x80\x99m 担心某些行可能会被部分覆盖或交错。

\n\n

我\xe2\x80\x99 通过运行四个命令进行了测试,每个命令输出一个唯一的行 1500 万次。它似乎有效,但我有点预计它会失败。

\n\n

有人可以解释一下这如何不会破坏\xe2\x80\x99t吗?每个子 shell 是否都被缓冲并且一次只有一个子 shell 可以写入标准输出?或者这是如何管理的。

\n\n

有一个更好的方法吗?

\n\n

(不要介意 I\xe2\x80\x99m在上述子 shell 中用于tail说明目的。我实际上想运行另外两个命令,一次连续输出一行到标准输出。)

\n

pipe concurrency

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