小编lau*_*aur的帖子

如何将管道( | )存储在变量中?

这个想法是将它用作...命令中的管道。例如:假设有某种很长的路径必须一次又一次地重新输入,然后是管道和第二个程序,即

"directory1/directory2/direcotry3/file.dat | less -I "
Run Code Online (Sandbox Code Playgroud)

我希望将该部分存储在一个变量中,因此可以像这样使用它:

r="directory1/directory2/direcotry3 \| less -I -p "
$ cat path1/path2/$r <searchterm>
Run Code Online (Sandbox Code Playgroud)

相反,我得到

cat: invalid option -- I
Try `cat --help' for more information.
Run Code Online (Sandbox Code Playgroud)

...意味着管道显然没有工作。

bash pipe variable

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

udev 和 acpi(d) 有什么区别

它们似乎都在接收和处理内核事件,那么为什么它们都存在呢?据我所知,与 udev 相比,ACPI 似乎更高级,但除此之外并不能真正说明。

ACPI、udev、HAL 和 pm-utils 之间的关系什么相关

linux udev acpi acpid

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

xinitrc - 设置 DBUS_SESSION_BUS_ADDRESS

不使用显示管理器并通过 xinitrc 执行启动逻辑。问题是一些与 dbus 相关的环境变量未设置。

xinitrc 摘录:

dbus-update-activation-environment --systemd --all  # note this errors
/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &

eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)
export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID
Run Code Online (Sandbox Code Playgroud)

第一个返回错误

dbus-update-activation-environment:警告:发送到 systemd 时出错:org.freedesktop.DBus.Error.InvalidArgs:无效的环境分配

如何确保 dbus 变量(例如DBUS_SESSION_BUS_ADDRESS)已设置?

请注意,我也可以注释掉这些行/usr/bin/startx

unset DBUS_SESSION_BUS_ADDRESS
unset SESSION_MANAGER
Run Code Online (Sandbox Code Playgroud)

但不确定这就是要走的路。

运行 Debian 测试。

debian d-bus environment-variables xinit

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

标签 统计

acpi ×1

acpid ×1

bash ×1

d-bus ×1

debian ×1

environment-variables ×1

linux ×1

pipe ×1

udev ×1

variable ×1

xinit ×1