标签: rc

在 Fish shell 中使用 ~/.dircolors

我最近刚刚从 bash 切换到 Fish shell,但在获取 dircolors 模板文件以获得为某些文件扩展名显示的自定义颜色时遇到了麻烦。

在 bash 中,我从~/.dircolors/dircolors.256dark. dircolors.256dark模板将不同的文件类型映射到不同的颜色。例如,当我使用 时ls,所有.wav文件都会显示为橙色。这是我的来源~/.bash_profile

# uses dircolors template
eval $(gdircolors ~/.dircolors/dircolors.256dark)

# Aliases
alias ls='gls --color=auto'
Run Code Online (Sandbox Code Playgroud)

然而,fish 并不真正使用 rc 文件,而是从config.fish, 文件获取源,但某些操作的语法在fish中是不同的。

我正在尝试弄清楚如何在鱼中实现这一目标。我喜欢能够通过颜色在视觉上区分不同的文件类型,因此如果在鱼中无法做到这一点,这对我来说可能会成为一个问题。

聚苯乙烯

为了清楚起见,我并不是试图简单地更改目录或可执行文件的颜色,而是更改具有不同文件扩展名的文件的颜色。例如,如果我ls在目录中执行此操作,我会得到以下结果:

my_file.py  # this file would be green for example
my_file.js  # this file would be yellow
my_file.wav # this file would be orange
Run Code Online (Sandbox Code Playgroud)

编辑:我在 macOS 上使用 homebrew 来获取 dircolors。

shell bash fish rc

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

Windows 上 busybox 的 .bashrc 或 .profile

我在 *nix 服务器上编写脚本有足够的经验,但我首先喜欢 Windows 上的 busybox。我使用安装了busybox scoop。当我跑步时:

ash
echo $HOME
Run Code Online (Sandbox Code Playgroud)

我得到了->

C:/Users/RO  # OK, this is dir of my windows profile
Run Code Online (Sandbox Code Playgroud)

我想我可以把它放在那个目录中,比如.profile.bashrc。我尝试过,但重新启动 ash 后,这些文件的内容(例如 PATH、别名...)均未设置。是否可以在这些文件中为 busybox 设置一些环境?

bash busybox rc

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

是否可以在 /etc/rc.local 中有条件?

内有条件可以/etc/rc.local吗?我检查了很多问答,大多数人都建议chmod +x在上面运行,但我的问题不同。它实际上没有条件的情况下对我有用,但没有其他条件。

#!/bin/sh

if [[ -e /usr/src/an-existing-file ]]
then
    echo "seen" >> /etc/rclocalmadethis
fi
Run Code Online (Sandbox Code Playgroud)

这是我运行时看到的奇怪错误systemctl status rc-local.service

rc.local[481]: /etc/rc.local: 3: /etc/rc.local: [[: not found
Run Code Online (Sandbox Code Playgroud)

这是我rc.local在完全相同的位置ls -lah /etc/

-rwxr-xr-x  1 root root    292 Sep 19 09:13 rc.local
Run Code Online (Sandbox Code Playgroud)

我使用的是 Debian 10 标准版。

shell shell-script test rc syntax

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

FreeBSD 中 rc.conf、loader.conf 和静态内核链接之间的区别

我很好奇:

将模块静态链接到内核而不是通过 rc.conf 等加载到底有什么好处?

例如:

要添加 Linux 模拟,我可以添加linux_enable="YES"到,或者我可以通过添加到我的内核配置/etc/rc.conf将其链接到内核。options COMPAT_LINUX

这实际上有好处吗?如果是这样,那又怎样?

freebsd kernel boot-loader kernel-modules rc

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

为什么内核挂载文件系统后需要rcS?

我使用嵌入式 Linux,我在没有 initramfs 的情况下编译了内核,内核启动正常。但它显示我rcS没有找到文件我已经把它放进去/etc/init.d/rcS,我的rcS文件看起来像

#!/bin/sh
echo "Hello world"
Run Code Online (Sandbox Code Playgroud)

内核挂载文件系统后,它会打印Hello world.

任何人都可以告诉/解释为什么需要这个文件以及我如何按特定顺序启动这些启动脚本?

我正在使用带有 busybox 的 Raspberry Pi,它工作正常,但我在启动时卡住了。

kernel sysvinit raspberry-pi rc

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

rc、rc.local 和 rc.sysinit 之间有什么区别?

我试图在启动时显示当前运行级别的启动脚本列表。我写了以下代码。

rl=`runlevel | cut -d " " -f2`
ls /etc/rc.d/rc$rl.d/S* | cut -d "/" -f5
sleep 10
Run Code Online (Sandbox Code Playgroud)

如果我将此代码放入rc.local文件中,它会起作用。

但是,如果我将它放在rc文件或单独的脚本文件abc/etc/init.d并通过在运行级别目录中创​​建软链接,它就不起作用。

但是像下面这样的简单命令能够在所有方法中运行。

ls /etc/init.d
Run Code Online (Sandbox Code Playgroud)

除非某些脚本已启动,否则某些命令(如运行级别或管道)是否无法工作?或者还有别的什么吗?

如果我把我的代码放在rc文件中,我的代码会在重启前后运行。

  • 那么rc,rc.localrc.sysinitfiles之间有什么区别?
  • 我到底需要在哪里编辑这些文件?

我也可以在 2、3、4 和 5 个运行级别中找到S99local-> 软链接rc.local

这是否意味着rc.local不会在运行级别 1 上运行?

init-script sysvinit init.d rc

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

当 Ctrl-C 不起作用时,如何终止从 rc.local 启动的程序?

我试图创建一个程序运行在启动时,需要一个画面每10秒(在一个无限循环)在我的树莓派,但我发现我犯了一个错误,但不能Ctrl+C出来。有没有办法逃脱?

(我确实尝试转到其他工作区,但未显示登录提示。)

startup kill rc

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

适用于 Linux 的 Windows 子系统无法确定当前运行级别

问题

许多 apt-get 安装失败,因为系统无法确定当前的运行级别

背景规格:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:        16.04
Codename:       xenial
$ uname -a
Linux systemName 4.4.0-43-Microsoft #1-Microsoft Wed Dec 31 14:42:53 PST 2014 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

说明

我尝试在 WSL 上安装 virtualbox,但出现以下错误:

$ VBoxManage --version
WARNING: The character device /dev/vboxdrv does not exist.
         Please install the virtualbox-dkms package and the appropriate
         headers, most likely linux-headers-Microsoft.
Run Code Online (Sandbox Code Playgroud)

我按照以下步骤解决了这个问题。到dpkg-reconfigure virtualbox-dkms

但后来我得到了以下信息:

dpkg: warning: version '*-*' …
Run Code Online (Sandbox Code Playgroud)

ubuntu runlevel rc rc.d windows-subsystem-for-linux

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

如何在启动时自动启动 Rescuetime(试过 crontab 和 rc.local)

我在 debian 9 上安装了rescuetime。它需要在终端中运行命令rescuetime,这只是保持运行而不是运行和关闭(它在屏幕左下角的托盘中添加了一个图标)。我在启动时遇到了一些困难。

我已经尝试过 crontab 并添加了 @reboot rescuetime

我也试过添加一个 rc.local 文件

#!/bin/sh -e

sh 'rescuetime.sh'
exit 0
Run Code Online (Sandbox Code Playgroud)

救援时间.sh

#!/bin/sh<CR>
rescuetime
Run Code Online (Sandbox Code Playgroud)

这些选项都不起作用。

如何让救援时间在启动时运行。

startup cron rc

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

了解 rc.local 和故障排除

我(Linux 新手)正在尝试向将执行应用程序的启动添加命令。该应用程序接受参数并具有它正在执行的操作的简单输出。要对其进行故障排除,我如何查看尝试启动(或根本不启动)时的输出?当我运行命令时,它起作用了。当我将它添加到 rc.local 时,我不知道为什么它不起作用。

linux rc

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

在启动时添加 SSH 密钥

我有一个使用 SSH 密钥进行身份验证的 Git 存储库 - 密钥不是标准的id_rsa

我可以跑:

eval $(ssh-agent -s)
ssh-add /home/forge/.ssh/otherkey
Run Code Online (Sandbox Code Playgroud)

然后

git pull origin master
Run Code Online (Sandbox Code Playgroud)

这是有效的。

服务器需要在启动时执行 git pull。

所以我有代码rc.local可以拉出repo,它仅在密钥为默认值时才起作用,而在密钥id_rsa不同时则不起作用。

如果我将它添加到 bashrc 中,那么它会在我登录时添加密钥并工作,但不会立即从启动中添加。

如何为 git 添加一个替代 id_rsa 的 SSH 密钥,它可以在我的 git pull 命令之前实例化rc.local

谢谢

ssh git key-authentication rc

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

配置文件使用什么语言?

我已经使用 GNU/Linux 一年多了。Linux 大师们,我需要你回答这个问题:

什么语言(S)都配置文件,如.bashrc.vimrc.i3status.conf.conkyrc.xinitrc用?

scripting configuration dot-files rc language

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