我不希望它是可修改的。也就是说,我不希望它启用类似的东西ARGS=("${ARGS[@]}")
,而只是简化类似的东西myarray=("${ARGS[@]/--unneeded-argument/}")
。
请注意,该--unneeded-argument
示例并不意味着删除参数是我问的原因。这是我多年来一直在思考的问题,但我从未得到明确的答案。
我不希望它是可修改的。也就是说,我不希望它启用类似的东西ARGS=("${ARGS[@]}")
,而只是简化类似的东西myarray=("${ARGS[@]/--unneeded-argument/}")
。
请注意,该--unneeded-argument
示例并不意味着删除参数是我问的原因。这是我多年来一直在思考的问题,但我从未得到明确的答案。
某些应用程序在不同的屏幕分辨率下表现不同。有没有办法让系统在启动 GUI 应用程序时向它报告不同的、用户指定的分辨率?
行为不同是指例如,如果我首先将显示器切换到较低的分辨率,它们的不可调整大小的窗口会更小(出于明显的原因,不一定是物理上的,但像素更少)。
就像是:
~$ sudolution 800x600 unresizableapp
或者有什么方法可以强制-resize 不可调整的窗口?
什么可以解释下面的例子,我该如何解决这个问题,最好不要大量引用杂技?我正在使用$n
来模拟多行命令字符串,以防它分散您对真正问题的注意力。
~$ n=$'\n'; sudo -i echo "line1${n}line2${n}"
line1line2
~$
但
~$ n=$'\n'; sudo echo "line1${n}line2${n}"
line1
line2
~$
下面的脚本可以完美地与 or 一起使用,bash
但不能与sudo bash
or一起使用sh
。按下enter
或^C
将不起作用。只有^\
and^Z
工作,但不是 with sudo bash
。
printf '#!/bin/sh\nread var\n' > myscript
chmod +x myscript
sh -c "timeout -k 1 10 ./myscript"
# it does work when `bash` is used instead of `sh`
我知道我可以使用read -t 10
. (这在我无论如何都停止使用时不可用sh
并且仅在我停止使用时才有效timeout
。)但我使用的原因timeout
与read
. 我需要它(其他东西)myscript
。我不需要解决方法,但需要对bash
/sudo bash
事物的解释,并希望为timeout
and提供解决方案read
。
有一个相关的答案(下面的链接),但这需要设置标记。Ctrl+U工作方式不同。\Cu
或者\C-u
不能只替换\eW
(下面的代码)。
这是在 bash 和 X11 之间共享剪贴板的建议。
if [[ -n $DISPLAY ]]; then
copy_line_to_x_clipboard () {
printf %s "$READLINE_LINE" | xsel -ib
}
bind -x '"\eW": copy_line_to_x_clipboard'
fi
所以问题是:我如何在 bash 中添加它剪切到 Xorg 鼠标(单击鼠标中键)粘贴缓冲区的文本Ctrl?U
我测试了这个:
~$ test() { echo foo |sed -r s/.*(.)/\\1/g; }
~$ test
o
到目前为止,一切都很好。但是之后:
~$ export -f test
~$ bash -c ''
bash: test: line 0: syntax error near unexpected token `('
bash: test: line 0: `test () { echo foo | sed -r s/.*(.)/\\1/g'
bash: error importing function definition for `test'
我知道使用引号可以sed
解决问题。但是 bash 不导出运行的函数是令人担忧的,需要解释、规则和案例。
我希望 bash 能够处理自己的引用,所以我认为它只能是一个错误。