小编rkh*_*hff的帖子

为什么 /bin 是 /usr/bin 的符号链接?

根据文件系统层次结构标准,/bin目录应包含单用户模式所需的实用程序。在实践中,许多 Linux 发行版使目录成为指向/usr/bin. 同样,/sbin现在通常也是指向 / 的符号链接usr/bin

符号链接背后的原理是什么?

linux fhs symlink directory-structure

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

我的 BST 时区是否晚了一个小时?

我的系统(Debian 测试中的 Gnome 3)对当前时间感到困惑。当我运行时date,时间显示正确,但有些应用程序比时间晚了一个小时。例如,当我向 Gnome 日历添加一个事件时,日历约会中显示的事件时间将是我输入的时间减去一小时。

我发现了问题所在,但不知道如何解决:

$ date ; TZ=GMT date ; TZ=BST date
Sun 30 Apr 11:25:37 BST 2017
Sun 30 Apr 10:25:37 GMT 2017
Sun 30 Apr 10:25:37 BST 2017
Run Code Online (Sandbox Code Playgroud)

输出的前两行是正确的,第三行晚了一个小时。我不明白的是为什么 BST 时区似乎比一个小时晚了,而同时当前时间是正确的 - 并且使用 BST。

这也可能是相关的:

$ timedatectl status
      Local time: Sun 2017-04-30 11:33:07 BST
  Universal time: Sun 2017-04-30 10:33:07 UTC
        RTC time: Sun 2017-04-30 10:33:07
       Time zone: Europe/London (BST, +0100)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no
Run Code Online (Sandbox Code Playgroud)

编辑 …

linux systemd timezone

5
推荐指数
2
解决办法
6783
查看次数

Bash 函数为未设置的变量分配默认值

我正在尝试创建一个 Bash 函数,为未设置的变量分配默认值。这是我的非工作脚本的简化示例:

#! /usr/bin/env bash

# My broken validation function
validate_input() {
  if [ -z "$1" ]; then
    set -- "default"
  fi
}

# Parse arguments
while [ "$#" -gt 0 ]; do
  case "$1" in
    --foo=*)
    foo="${1#*=}"
    ;;
    --bar=*)
    bar="${1#*=}"
    ;;
    *)
    printf '%s\n' "Invalid argument ($1)"
    exit 1
    ;;
  esac
  shift
done

# Validate foo and bar
validate_input "$foo"
validate_input "$bar"

# Print results
printf '%s\n' "foo: $foo"
printf '%s\n' "bar: $bar"
Run Code Online (Sandbox Code Playgroud)

因此,用户可以使用参数--foo--bar来设置变量 …

bash

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

标签 统计

linux ×2

bash ×1

directory-structure ×1

fhs ×1

symlink ×1

systemd ×1

timezone ×1