小编the*_*les的帖子

Linux shell 脚本:允许用户在输入提示中提供变量名

我正在为 linux 终端编写一个 shell 脚本。我希望能够在提示下输入变量名称。例如:

测试.sh:

 test="Monkey in the middle..."
 read -p "Enter input: " input
 echo $input
Run Code Online (Sandbox Code Playgroud)

输出:

 Enter input: $test
 $test
Run Code Online (Sandbox Code Playgroud)

我希望能够read -p在脚本的提示部分输入“$test”,并在最后让脚本回显“中间的猴子...”,而不是像现在这样回显“$test”。

我该怎么做?



更新:

使用此处和此线程中提供给我的答案(非常感谢贡献者和评论员!),我设法将这条线拼凑起来,这对我来说非常有效:

newvariable="$(eval echo $input)" 
Run Code Online (Sandbox Code Playgroud)

请注意,我不止一次被警告说使用 eval 可能会带来安全风险。如果您选择此解决方案,请记住这一点。

shell-script

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

在 Wayland 中修改键盘布局

我的笔记本电脑带有 PrintScreen 键(在 KB 的右侧,在 Alt_R 和 Control_R 之间)。在 Xorg 中,我一直在使用 xmodmap 用菜单键交换打印屏幕:

/usr/bin/xmodmap -e "keycode 107 = Menu"

问题是,由于安全限制,xmodmap、xdotool 和其他任何依赖于拦截和注入击键的东西在 Wayland 上都不再起作用。gnome-tweak-tool 有(开箱即用)一些漂亮的基于 xkb 的修改,允许交换一些特定的键(如带转义的大写锁定),但它没有我正在寻找的修改。

我想知道是否有办法通过修改键盘布局文件来将 printscr 交换为菜单键?它们是文本文件还是我必须重新编译的二进制文件?

/usr/bin 中有 setkeycodes 和 getkeycodes,有谁知道这些命令是做什么的?

keyboard wayland keyboard-layout

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

pkexec - 在编写 pkexec 策略时如何为 auth_admin_keep 设置自定义超时

我刚刚在 freedesktop.org 上阅读 David Z 为 pkexec 编写的参考手册:

https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html

https://www.freedesktop.org/software/polkit/docs/latest/pkexec.1.html

手册说,使用 auth_admin_keep 选项只会将您的密码保留 5 到 15 分钟,如果我们想设置自定义超时,我们可以编写自定义规则。

有人知道我如何编写超时的自定义规则吗?我尝试按照手册进行操作,但我不是编码员,我无法理解 Syntax,也没有提到与超时相关的 Syntax。

polkit pkexec

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