#execute-command #basic #un-shell

app unsh

Unsh,非壳。它只是执行命令

1 个不稳定版本

0.1.0 2021年5月21日

#84 in #execute-command

MIT 许可证

11KB
213

unsh

Unsh,非壳。它只是执行命令

常见问题解答

问:什么是unsh?它是shell吗?

是的,有点像。你可以用它运行命令,如下所示

¥ sudo systemctl status crond
-  (press RETURN)● crond.service - Command Scheduler
     Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-05-10 17:58:41 PDT; 1 weeks 3 days ago
   Main PID: 1904 (crond)
      Tasks: 1 (limit: 18855)
     Memory: 1.9M
     CGroup: /system.slice/crond.service
             └─1904 /usr/sbin/crond -n

问:太棒了,它还能做什么?

答:基本上就是这样。它使用标准shell参数解析将argv传递给程序

但是,你不能将一个程序的输出管道连接到另一个程序

¥ echo "Hi there" | sed s/there/hi
Hi there | sed s/there/hi
exit code: 0

问:什么?但这不正是shell的基本功能之一吗?

答:不是这个shell。这个shell不会做这个。

它也不支持变量

¥ echo $PATH
$PATH
exit code: 0

问:如果我需要将一个命令的输出管道连接到另一个命令怎么办?

答:使用真正的编程语言。Shell脚本语言只是功能受限的编程语言。

你有很多选择。比如python或Rust。

Shell通常将编程环境和进程执行混为一谈。Unsh不是,它只执行命令,将编程留给编程语言。

问:为什么提示符是¥而不是$?我明白了。

答:是的,你明白了。

依赖项

~9MB
~166K SLoC