0
如何检查shell命令是否以某些文本结尾?举例来说,如果I型Linux检查shell命令(bash)
$ http://example.com/file.webm
(与.webm结束),它会与
$ wget http://example.com/file.webm
当然仅当命令由一个部件来自动替换。
我使用bash
作为我的shell。
如何检查shell命令是否以某些文本结尾?举例来说,如果I型Linux检查shell命令(bash)
$ http://example.com/file.webm
(与.webm结束),它会与
$ wget http://example.com/file.webm
当然仅当命令由一个部件来自动替换。
我使用bash
作为我的shell。
bash
4提供了一个处理“未找到命令”错误的钩子。在这种情况下,http://example.com/file.webm
不会是一个有效的命令,所以在您的.bashrc
文件中定义了以下功能:
command_not_found_handle() {
if [[ $1 = http://*.webm ]]; then
wget "$1"
else
return 127
fi
}
当您尝试运行您的网址为命令,command_not_found_handle
将与URL作为第一个叫论据。该函数检查命令名称是否与webm
URL匹配,如果匹配,则运行wget
并将URL作为参数。 (对于任何其他无法识别的命令,只需返回127,命令是仍然是无法识别。)
如果指定特定的shell,例如'bash'或'zsh',那么您可能会得到一个答案可以在该shell中实现。 – Kusalananda
它可能是bash shell。 – user6390359
你是指以某些文字结尾的含义? – AQU