Git Product home page Git Product logo

x-cmd's Introduction

x-cmd-logo

Let's forge your Excalibur in Cloud.

x-cmd-version

Website   |   Install

Currently in beta testing (v0.2.13), please do not use it in production environments. We plan to iterate forward at a rate of three versions per month in the next three months.
If you like x-cmd, please give us a star ⭐.
Your support is our biggest motivation.

x theme demo gif

  1. Supports one-click execution of hosted scripts in the posixcompatible shells (ash/bash/dash/zsh, with more to be supported in the future), even innon-scratch lightweight container images such as busybox and alpine.
  2. Supports installation of programming language runtimes (currently supports node, python, java, etc.), allowing users to execute hosted scripts with oneclick on environments with x environment.
  3. Enhances the user experience of posix shell with themes, quickpath navigation, and better shell intelligent completion and prompting features to be added in the future.
  4. Provides a range of interactive CLI tools (gh for github, gt for gitee, with more tool modules to be released in the next six months).
  5. Extremely light and fast: the size of the full-featured moduleinstallation package does not exceed 1.1MB, and the shell loadingtime after initial startup generally does not exceed 100ms.

Now there are more than 100 modules, nearly 500 packages, and more than 1000 install receipes ~

Module Function Similar items
theme Set the theme of the shell oh-my-zsh /oh-my-bash
tldr Use cases for browsable commands tldr client tool
proxy Quickly configure download sources such as apt,pip,npm etc. unknown
z/uz Compression and decompression of various formats according to the suffix unknown
pick interactive selection percol
gh github interactive client Official Github CLI for Go
gt gitee interactive client ?
ws Project script management ?
env Setup Script Runtime/Development Environment asdf/nvm/sdkman/pyenv/rbenv/...
hub Script Publishing Service ?
Package Official Site Function
jq/yq jq/yq json/yml
p7zip 7zip Compression and decompression
ffmpeg ffmpeg Audio and video
openssl openssl Secure cryptographic
fd fd Efficient replacement for find
rg rg Efficient replacement for grep
sd rg Like sed, but more easy to use
bat bat Rust implementation of cat
nmap nmap Security scanning
pandoc pandoc Document format conversion
smartmontools smartmontools Hard drive monitoring tool

x-cmd's People

Contributors

edwinjhlee avatar jerry8hero avatar mnnna avatar zhengqbbb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

x-cmd's Issues

ssh远程连接中关于theme的问题

问题描述

vscode中用remote ssh远程连接Ubuntu虚拟机,在终端中运行x theme命令打开主题面板,按q或选择主题后回车关闭面板时会导致ssh连接异常

环境信息

  • 能稳定复现
  • 虚拟机为本地虚拟机
  • 虚拟机内用的 shell的类型以及版本:[e.g.:/bin/bash:5.0.17(1)-release sion]
  • 虚拟机内用的 awk的类型以及版本:[e.g.:GNU Awk 5.0.1, API: 2.0 (GNU MPFR 4.0.2, GNU MP 6.2.0) 版权所有 © 1989, 1991-2019 自由软件基金会(FSF)。]

重现步骤

  1. 启动Ubuntu虚拟机,打开ssh服务并安装x-cmd
  2. vscode中用remote ssh远程连接Ubuntu虚拟机
  3. 在终端中输入x theme命令打开主题面板
  4. 按下q键或选择一个主题后按下回车
  5. 此会不断输出"/home/lxb/.x-cmd.root/v/latest/mod/ui/lib/region: 第 141 行: printf: 写错误: 断开的管道"
  6. 再按下任意键,输出停止,ssh连接异常
  7. 稍等一会后会自动重启终端并进行ssh连接,同时会完成主题更换

附加信息

错误

错误2

["BUG"] Trailing whitespace while append `X_emoji` in dracule theme

I'm not aware if this is only in the Dracula theme or others too, but when I enable emojis in the theme, it evaluates as follows:

-    [ -z "$X_emoji" ] || X_left="${X_emoji}  ${X_left}"
+    [ -z "$X_emoji" ] || X_left="${X_emoji} ${X_left}"

So, I gotta remove that extra space.

建立用于生成release的action

数据源: x-cmd/release

细节:

  1. 如果对应的release不存在,创建release,将其绑定到对应的tag或者commit
  2. 如果release已存在,确定其commit没有更新:例如latest/alpha/beta,就会不断更新对应的commit。
  3. changelog 链接指向 https://x-cmd.com/v/<version>

注意,该处的release只是方便用户查看。最终数据是以 x-cmd/release 为准。

[bug] 使用alias后,提示找不到pkg

先看报错:

$ ls   
___x_cmd_alias_exec:5: maximum nested function level reached; increase FUNCNEST?
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - bat
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]
- E|pkg: Not found - exa
- E|x: ___x_cmd_main_otherwise(): ___x_cmd_which_one fail [code: 32]

再看zshrc:

alias ls="x exa"
alias ll="x exa -bghHliS"
alias la="x exa -lah"
alias cat="x bat"
[ ! -f "$HOME/.x-cmd.root/X" ] || . "$HOME/.x-cmd.root/X" # boot up x-cmd.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.