小编eek*_*nky的帖子

你能区分一个目录中的所有文件吗?

我有一堆文件存储在各种目录中。它们是在不同时间创建的,但我需要检查它们的内容是否相同。我找不到如何对diff一个目录中的所有文件进行操作。这是可能的还是需要另一个 CLI 工具?

command-line diff files

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

系统服务失败

我无缘无故地想到 Nzbget 已停止运行。我什么都没有改变,服务刚刚停止并拒绝重新启动。

 sudo systemctl status nzbget -l
 * nzbget.service - NZBGet Daemon
 Loaded: loaded (/etc/systemd/system/nzbget.service; enabled)
 Active: failed (Result: start-limit) since Sun 2016-05-01 06:23:27 BST; 2min 46s ago
Process: 596 ExecStop=/opt/nzbget/nzbget -Q (code=exited, status=0/SUCCESS)  Process: 586 ExecStart=/opt/nzbget/nzbget -c /opt/nzbget/nzbget.conf -D (code=exited, status=0/SUCCESS)
 Main PID: 588 (code=killed, signal=ABRT)

May 01 06:23:27 osmc systemd[1]: Unit nzbget.service entered failed state.
May 01 06:23:27 osmc systemd[1]: nzbget.service start request repeated too quickly, refusing to start.
May 01 06:23:27 osmc systemd[1]: Failed to start …
Run Code Online (Sandbox Code Playgroud)

systemd

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

将变量传递给 sed 并将反斜杠更改为正斜杠

我正在编写一个 bash 脚本来通过cifs. 我有主要部分工作,但是当我需要用户将 DFS 路径作为变量输入并将反斜杠转换为正斜杠时,我遇到了麻烦。

 #!/bin/bash

 FILE='\\edi3\welshch\test'

 FILEPATH="$("$FILE" | sed -e 's/\\/\//gp')"
 echo $FILEPATH
Run Code Online (Sandbox Code Playgroud)

我有另一个脚本,它使用命令来查找 AD 主目录的文件路径,然后按部分通过管道传输到 sed | sed -e 's/\\/\//gp

但是上面的这个脚本给了我; ./test.sh: line 10: \\edi3\welshch\test: command not found

sed

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

以快捷方式创建嵌套目录

我目前有这个,但没有我想要的那么整洁; mkdir -p backup/{daily/{directories,databases,logs},weekly/{directories,databases,logs},monthly/{directories,databases,logs}} 是否可以嵌套directories,databases,logs零件以便不必在命令中使用它 3 次?

directory-structure

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

在 bash 脚本中将退出代码从 0 更改为 1

我有一个 rsyncs 并以这样的方式结束的脚本

rsync -azvh /dir -e ssh usr@server.com:/
RESULT="$?"

# check result of rsync db's
if [ "$RESULT" != "0" ]; then
    echo -e "rsync exit Code:" $RESULT "\nFAILED to rsync backups"
else
    echo "SUCCESSFULL rsync of backups"
fi
Run Code Online (Sandbox Code Playgroud)

我刚刚被要求将它包装在一个 API 中,但 API 声明0=fail1=success. 如何更改退出代码以反映这一点?我需要给它分配一个变量吗?

bash variable

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

在 bash 中创建一个目录嵌套

我想要一种更简洁的方式来嵌套这个命令;

if [ ! -d $BACKUPDIR ]; then
  mkdir -p $BACKUPDIR
  mkdir -p $BACKUPDIR/directories
  mkdir -p $BACKUPDIR/databases
  mkdir -p $BACKUPDIR/logs
else
  :
fi
Run Code Online (Sandbox Code Playgroud)

bash directory-structure

0
推荐指数
1
解决办法
398
查看次数

Bash OR 运算符不评估多个变量

我的 bash 脚本中的以下行无法评估多个 OR 运算符。这是检查第一个然后继续

if [[ "${SERVER_NAME}" != $BITBUCKET || $CONFLUENCE || $CROWD || $JIRA || $JENKINS ]]; then
other code here...
fi
Run Code Online (Sandbox Code Playgroud)

bash -x对剧本我得到这样的;

+ [[ crowd.server.com != code.server.com ]]
Run Code Online (Sandbox Code Playgroud)

这是$BITBUCKET可变的,$SERVER_NAMEcrowd.server.com 我需要它在移动之前评估所有的变量

bash

0
推荐指数
1
解决办法
1554
查看次数

Mac bash 上的日期命令

我在 Ubuntu 中有一个小脚本,我想在 Mac 上使用。该date功能是不一样的,所以它没有语法上

这是原始的 Ubuntu BASH 脚本;

function pass () {
    pass="$(ldapsearch -Y GSSAPI -Q -H ldap:///dc%3Dant%2Cdc%3Damazon%2Cdc%3Dcom -b DC=ant,DC=amazon,DC=com -s sub cn=$1 | grep -Ew 'pwdLastSet:' | awk '{print $2}')"
    pass_epoch="$(((pass / 10000000) - 11644473600))"
    pass_epoch_exp="$((pass_epoch + 86400*90))"
    today="$(date +%s)"
    countdown_epoch="$(expr $pass_epoch_exp - $today)"
    countdown="$((countdown_epoch / 86400))"
    pwdSet_date="$(date -d @$pass_epoch)"
    expires_date=$(date -d "@$((pass_epoch + 86400*90))")
    echo "pwdLastSet: "$pwdSet_date
    echo "pwdExpires: "$expires_date
    echo "  daysLeft: "$countdown
}

usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] …
Run Code Online (Sandbox Code Playgroud)

osx bash date

0
推荐指数
1
解决办法
5400
查看次数

标签 统计

bash ×4

directory-structure ×2

command-line ×1

date ×1

diff ×1

files ×1

osx ×1

sed ×1

systemd ×1

variable ×1