zsh 的自动更正功能对我很有帮助,但它并不总是给出正确的结果。
~$ sudo vim somefile
zsh: correct 'vim' to '.vim' [nyae]?
Run Code Online (Sandbox Code Playgroud)
然而,我想要的是像一个never选项,可以阻止它永远纠正这些命令。
我怎样才能做到这一点?
我正在尝试向依赖于另一个变量的命令调用添加参数。请看shell脚本代码:
curl \
$([ -z "${title}" ] || echo --data-urlencode title=${title}) \
http://example.com
Run Code Online (Sandbox Code Playgroud)
在这个例子中,如果title
给定的不是 null,一个参数将被添加到curl
.
如果title
包含空格,这将无法正常工作。我也不$(...)
能用引号括起来,因为如果title
为空,它会产生一个意想不到的空参数curl
。
我应该怎么做才能让它按预期工作。
我不小心跑到chmod -R 755 projects
了放置所有项目的目录。
幸运的是,我所有的项目都是使用 git 进行跟踪的。所以我可以在每个项目中运行git checkout HEAD .
来修复权限。
但是,在某些项目中,有一些正在进行的工作尚未提交到树中,这样做将覆盖这些文件的内容。
有没有办法只放弃文件模式的更改,而不放弃文件内容的更改?
我正在编写一个脚本,需要使用用户指定的 DNS 服务器查询 DNS 记录。DNS 服务器可以采用任何协议,包括 UDP、TCP、DNS over HTTPS (DoH) 和 DNS over TLS (DoT)。
我知道dig
能够处理 UDP 和 TCP(带+tcp
标志)的DNS 。有没有办法可以使用dig
或其他工具来查询 DoH 和 DoT 服务器?
我更喜欢已经存在的流行工具,curl
这样我的脚本会更便携,但也欢迎其他建议。
我的学校有一个防火墙,它限制了大多数传出端口。只有TCP/80
, TCP/443
,TCP/21
允许。有没有办法找出防火墙允许的所有传出端口?
我目前的想法:打开nc
远程服务器上的所有 TCP 端口,然后使用nmap
扫描哪些端口可以访问。但是如果我没有远程服务器怎么办?或者是否有公共服务器为此类测试打开所有端口?
对于那些担心我违反学校规定的人,我认为这样做没什么大不了的。假设我在外部主机上建立一个服务并希望它可以被学校网络访问,我愿意知道我可以使用哪些端口来提供这个服务。我没有破坏任何东西。我相信这样做是 100% 合法的。
autocorrect ×1
bash ×1
command-line ×1
dns ×1
firewall ×1
git ×1
linux ×1
networking ×1
permissions ×1
port ×1
shell-script ×1
tcp ×1
zsh ×1