我正在编写一个 bash 脚本,我想为多种类型的 VCS 工作。我正在考虑通过运行典型的 info 命令并检查返回码、成功或错误来测试目录是否是系统的存储库。在伪代码中:
if a svn command succeded;
Then run svn commands
elif a darcs command succeded;
Then run darcs commands
elif a mercurial command succeded;
then run hg commands
else
something else
fi
Run Code Online (Sandbox Code Playgroud)
我可以运行一个命令,例如
darcs show repo
并使用它$?
来获取它的返回码。
我的问题是:有没有一种简洁的方法可以在一行中运行并返回返回代码号?例如
if [ 0 -eq `darcs show repo`$? ];
Run Code Online (Sandbox Code Playgroud)
还是我必须定义一个函数?
一个额外的要求是 stderr 和 stdout 都应该被打印出来。
我经常在远程计算机上使用 Lynx 来查看网站(比端口转发更快)。有时,我想要访问的 URL 包含 Lynx 似乎需要编码的未转义字符(例如括号)。例如
http://www.example.com/This(URL)is anExample.html
应该是
http://www.example.com/This%28URL%29is%20anExample.html
。
是否有现有的脚本?或者,Lynx 是否有一些选项可以使它变得不必要?