我读过man ssh-add,但没有看到像我们那样传递密码的标志ssh-p,其中 is。
我试过
# the -K is for macOS's ssh-add but it's not relevant
ssh-add -q -K ~/.ssh/id_rsa <<< $passphrase
Run Code Online (Sandbox Code Playgroud)
但我得到以下输出:
ssh_askpass: exec(/usr/X11R6/bin/ssh-askpass): No such file or directory
Run Code Online (Sandbox Code Playgroud)
如何在不触发提示的情况下传递密码
更新
为我正在做的事情添加更多上下文,我正在创建一个脚本来为我创建 SSH 密钥。它将生成密码,使用该密码的 SSH 密钥,并将其添加到代理中。
# the -K is for macOS's ssh-add but it's not relevant
ssh-add -q -K ~/.ssh/id_rsa <<< $passphrase
Run Code Online (Sandbox Code Playgroud)
按照斯蒂芬的回答,我不确定这将如何运作。似乎我不得不创建一个临时脚本并将其保存到磁盘,以便 SSH_ASKPASS 工作。有任何想法吗?
我在 chroot 环境中的 arm64 android 手机中安装了 debian stretch。我已经按照这里的这些步骤安装了 docker-ce 。
在启动泊坞窗时:: systemctl start docker
返回此错误:: Running in chroot, ignoring request.
使用service docker status节目 检查[FAIL] Docker is not running ... failed!
如何在我的 android 手机上的 chroot 中运行它?
有没有办法解决观察到的系统调用的数量:
SYS_345(0xe, 0xbff94188, 0x2, 0x4000, 0xb6526000) = 2
Run Code Online (Sandbox Code Playgroud)
在正在运行的内核中使用它的符号名称而不在源代码中查找它?
编辑用例是一个过时的strace二进制文件,位于外部框上,其内核源代码检索起来可能很乏味。
如何列出已运行超过 2 小时且已定义名称的进程。这是我尝试过的。
ps -efo pid,comm,etime | grep 'process name' | awk '{print $3}'
Run Code Online (Sandbox Code Playgroud)
这是针对 Solaris 的。
或者有人可以帮助如何创建一个脚本,如果进程运行时间超过 2 小时,该脚本将发送包含进程 ID 的电子邮件。
我正在寻找一个“元命令”xyz,这样:
(echo "foo"; echo "bar") | xyz rev
Run Code Online (Sandbox Code Playgroud)
将返回:
foo oof
bar rab
Run Code Online (Sandbox Code Playgroud)
我想避免使用临时文件,即我正在寻找比以下更简洁的解决方案:
tempfile=$(mktemp)
cat > $tempfile
cat $tempfile | rev | paste $tempfile -
Run Code Online (Sandbox Code Playgroud)
(当然,我想要一个通用的解决方案,对于任何命令,不仅仅是rev,您可以假设该命令为每个输入行只输出一行。)
Zsh 解决方案也是可以接受的。
一些本地进程在端口 1234 上连接和断开连接到 127.0.0.1。
我想记录到此端口(或服务器进程)的所有连接。
我试过了
ss -tpn | grep 1234
Run Code Online (Sandbox Code Playgroud)
它显示一个列表,但随后停止;它不会继续记录新连接,因此我无法捕获所有者的套接字或 PID。
我可以使用什么工具来发现连接和断开套接字的 PID?
很多次被问到,但没有确凿的答案:能否将逻辑块大小从 512e 更改为 4k(物理块大小)?
使用的解决方案hdparm --set-sector-size 4096在 qemu/kvm 下不起作用,因此如果不使用我没有的备用设备,我无法真正测试它。
能否说服 Linux 内核切换到 4k 扇区大小而不是 512e?最好以某种方式,可以在虚拟机中进行测试。
我正在尝试列出嵌套 zip 中的文件,如下所示。它不是在第二级列出文件。
例如:
abc.zip包含test1.zip, test2.zip,test3.zip
pqr.zip包含test4.zip, test5.zip,test6.zip
for f in *.zip
do
unzip -l ${f}
for p in ${f}
do
unzip -l ${p}
done
done
Run Code Online (Sandbox Code Playgroud) /dev/null是一个特殊的 Linux 文件,它会丢弃写入其中的所有内容,并EOF在读取时提供。
我想通过阅读/dev/null来获得并形象化这一点EOF。如果我尝试:
$ cat /dev/null | hexdump
Run Code Online (Sandbox Code Playgroud)
这不起作用。返回提示符但没有任何输出。EOF甚至没有 ASCII 代码,所以也许这就是原因。
还能EOF算人物吗?
EOF当 bash 中提供时,有没有办法检测和打印stdin?
就像是:
$ cat /dev/null | some_tool
EOF
Run Code Online (Sandbox Code Playgroud)
我GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)在 Ubuntu 20.04.3 上使用,但我希望解决方案(如果有)与这些特定版本无关。
这不是作业,而只是了解更多信息的一种方式EOF。
我编写了以下代码来搜索当前工作目录中包含字母“f”的所有文件名。
for i in *
do
echo $i
if [ $i = "*f*" ]
then
echo "no"
else
echo "yes"
fi
done
Run Code Online (Sandbox Code Playgroud)
这将为该目录中存在的每个文件打印“是”,无论它是否包含“f”。请帮忙。
linux ×4
bash ×3
android ×1
arm ×1
cat ×1
chroot ×1
command-line ×1
debian ×1
docker ×1
networking ×1
opensolaris ×1
partition ×1
process ×1
shell ×1
shell-script ×1
socket ×1
solaris ×1
ss ×1
stdin ×1
strace ×1
system-calls ×1
wildcards ×1
zsh ×1