fi 这个简单的示例演示了 OR 运算符如何在 Linuxshell 脚本中工作。只有当用户输入数字 15 或 45 时,它才会宣布用户为获胜者。|| 符号表示 OR 运算符。...*)用于匹配除 100 和 200 以外的所有输入。 14、命令行参数 在许多情况下,直接从命令 shell 获取参数是有益的。下面的示例演示了如何在 bash 中执行此操作。 #!.../test.sh X=44 Y=100 它应该返回 X+Y=144。这里的参数存储在 “$@” 中,脚本使用 Linuxcut 命令获取它们。.../bin/bash echo -n "Enter first number:" read x echo -n "Enter second number:" read y (( sum=x+y )) echo.../bin/bash echo -n "Enter filename ->" read name rm -i $name 让我们输入 editors.txt 作为文件名,并在要求确认时按 y。
1. zsh 启动耗时测量 首先,我们需要一个客观衡量 zsh 启动速度的标准,而使用 macOS 和众多 Linux 发行版中自带的 time 可以轻松计算任何命令的执行用时,包括 shell: $...使用 zsh 内置语法 zsh 强大之处不仅在于内建的插件、优雅的使用方式,更重要的是极其强大的语法。在 .zshrc 广泛使用 zsh 内置的语法可以大幅提高执行性能。...通过 profiling 可以发现一些插件(如 git 插件)执行耗时也不短。...常见的会产生子进程的语法有是 eval 和 Command substitution,在编写 .zshrc 时应该尽量避免使用它们。...中的负优化),因此在 zsh 启动时产生一个子进程运行 Homebrew 将是不能忍受的,绝大部分使用 Homebrew 的人都不会改变 Homebrew 的路径,因此与其在 .zshrc 中使用 $
/powerlevel10k,如下图红框 退出终端,再次打开,如下图,会提示是否使用新字体,输入Y自动下载 实测发现,下载字体的操作经常会出现网络访问超时,如下图,遇到此情况,建议关闭终端后重新打开...,会再次提示是否下载新字体 字体下载成功后,重启iTerm2后生效,此刻终端会有如下提示,让你确认红框中的图形是不是旋转后的矩形,我这里显示正常,所以输入y 继续让你确认下一个图像,是不是...这里选择同步,输入y 配置立即生效,而且会将旧的.zshrc备份 终于,zsh设置完成,收获了一个美观且功能强大的终端 JDK 我这里用的是JDK11,下载地址:https://cdn.azul.com...Ultimate Edition 打开,如果有idea账号,可以在此处输入,登录成功后即可正常使用 如果您对申请免费的IDEA license有兴趣,可以参考《免费申请和使用IntelliJ.../mac/Typora.dmg 安装完毕后,打开typora,输入command + ,打开偏好设置页面,勾选下图红框中的Typora服务使用国内服务器,这样才能注册成功 接下来是图床设置,这样在文档中直接粘贴图片就能被
在交互式的使用中,目前很多人都是zsh,因为zsh拥有很强大的提示和插件功能,炫酷吊炸天。...read name echo "my name is ${name}" 可以使用-p给一个输入提示 read -p "please input your name:" name echo "my name...is ${name}" 如果没有指定输入的变量,会把输入放在环境标量REPLY中 read -p "please input your name:" echo "my name is ${REPLY}..." 计时输入,如果一段时间没有输入 ,就直接返回,使用-t 加时间 read -t 3 -p "please input your name in 3 senconds:" name 指定输入字符个数,...使用-n ,后面的是输入字符个数 read -n 1 -p "Are you sure [Y/N]?"
本脚本比较特殊, 需要手动把题库放进脚本(感觉使用方便点, 不喜欢的可以改为加个命令cat就是了) 脚本见文末: 1....使用演示 使用方法很简单,直接执行 就可以了 sh randomQbyDdcw.sh image.png image.png 3....3.3 思路讲解 把题干,选项,正确答案分别放在3个文件中, 生成一个随机数(范围是剩余题数之类的) 表示这是第N题....//') #sed 's/TRUE_FLAG_DDCW//' ${SWITCH_TEMP} #获取用户的输入, 并格式化方便比较 echo "" [[ -z ${1} ]] || echo..."正确答案为: ${RIGHT_FLAG}" #彩蛋, 如果有任何位置参数, 就会输出正确答案 read -p "我的答案: " USER_ANSWER USER_ANSWER=$(echo ${USER_ANSWER
GitLab生成一个唯一的token,标识这个job,然后将这个job以及token发送给指定的Runner。 Runner使用这个token来请求增加权限,访问代码仓库和构建工件。...-y )' - mkdir -p ~/.ssh - eval $(ssh-agent -s) - '[[ -f /.dockerenv ]] && echo -e "Host...最后在一次的Git提交后,可以触发打包和部署: 图片 其实点进去也可以看到具体的日志: 图片 说实话,比较难的是SSH的密钥添加部分,需要在GitLab CI作业中配置 SSH 免密登录,主要步骤: #...openssh-client -y )' # 创建 .ssh 目录 mkdir -p ~/.ssh # 启动 ssh-agent 管理私钥 eval $(ssh-agent -s) # 如果在...\tStrictHostKeyChecking no\n\n" > ~/.ssh/config 实现了无需输入密码就能 SSH 登录到 GitLab Runner 中,从而自动化部署到服务器。
在命令行程序正确安装后,Bash 补全才可以使用。而如何安装可以参考 setup 集成。Click 目前仅支持 Bash 和 Zsh 的补全。...=source foo-bar)" 或者在 .zshrc 中使用: eval "$(_FOO_BAR_COMPLETE=source_zsh foo-bar)" 不过上面的方式总是在命令行程序启动时调用...,使用内建函数 input 或 raw_input 获得的输入是用户输出一段字符然后回车得到的。...比如,根据输入的 y 或 n 做特定处理: import click click.echo('Continue?...else: click.echo('Invalid input :(') 2.2.6 等待按键 在 Windows 的 cmd 中我们经常看到当执行完一个命令后,提示按下任意键退出。
/安全性与隐私/通用, 勾选(进入睡眠或开始保护程序 立即 要求输入密码) 配置触发角 系统偏好设置/屏幕保护程序/触发角, 选择(右上桌面,左下启动台,右下启动屏幕保护) 二、工具安装 Xcode...,oh-my-zsh # 安装 zsh 及 补全 brew install zsh zsh-completions # 安装 oh-my-zsh curl -L https://github.com/...vim ~/.vimrc syntax on set background=dark colorscheme solarized set backspace=2 4. vscode 配置命令行中打开...首选项/设置, 搜索 terminal.integrated.shell.osx ,设置值为 /usr/local/bin/zsh vscode python 解释器选择 ⇧⌘P, 搜索 select...important;">:PATH" eval "¨E45E)"eval"(pyenv init -)" eval "</span class="mspace" style="margin-right:
/安全性与隐私/通用, 勾选(进入睡眠或开始保护程序 立即 要求输入密码) 配置触发角 系统偏好设置/屏幕保护程序/触发角, 选择(右上桌面,左下启动台,右下启动屏幕保护) 二、工具安装 Xcode Command...,oh-my-zsh # 安装 zsh 及 补全 brew install zsh zsh-completions # 安装 oh-my-zsh curl -L https://github.com/...vim ~/.vimrc syntax on set background=dark colorscheme solarized set backspace=2 4. vscode 配置命令行中打开...首选项/设置, 搜索 terminal.integrated.shell.osx ,设置值为 /usr/local/bin/zsh vscode python 解释器选择 ⇧⌘P, 搜索 select...important;">:PATH" eval "¨E45E)"eval"(pyenv init -)" eval "</span class="mspace" style="margin-right:
进入后,会要求先创建一个docker hub的账号,注册账号完成邮箱验证后,就能进入了,docker hub上提供了大量的docker镜像文件(可以理解各种虚拟机的模板,不过建议翻~*墙,否则速度奇慢,...甚至打不开),基本上可以满足各种要求,比如:需要一个持续集成的虚拟机,可以直接使用jenkins镜像,需要一个mysql,可以直接使用mysql镜像... ?...exit 2 fi while true; do read -p "Remove all Docker Machine VMs?...(Y/N): " yn case $yn in [Yy]* ) docker-machine rm -f $(docker-machine ls -q); break;; [Nn]*...但是从KI界面点击DOCKER CLI进入终端后,再输入docker ps,能正常显示正在运行的容器信息: ?
[Y/n]${RESET} " read opt case $opt in y*|Y*|"") echo "Changing the shell..." ;; n*|N*) echo...[Y/n]${RESET} " read opt case $opt in y*|Y*|"") echo "Changing the shell..." ;; n*|N*) echo...[Y/n]${RESET} " read opt case $opt in y*|Y*|"") echo "Changing the shell..." ;; n*|N*) echo...[Y/n]${RESET} " read opt case $opt in y*|Y*|"") echo "Changing the shell..." ;; n*|N*) echo...[Y/n]${RESET} " read opt case $opt in y*|Y*|"") echo "Changing the shell..." ;; n*|N*) echo
Shell配置 安装oh-my-zsh Shell的类型有很多种,Termux下默认使用的是bash,这里使用功能更强大的zsh来代替bash。...为了让初学者更好地使用zsh,需要先安装高档大气上档次,狂拽炫酷吊炸天的oh-my-zsh。...为zsh,输入回车或Y即可。...配置 重新打开Termux,输入p10k configure进入powerlevel10k的配置界面。第一次会自动下载默认字体,安装后会自动退出,重新打开Termux即可。...可以根据配置向导的提示,定制适合自己风格的终端界面。 ? 图片来源:romkatv/powerlevel10k 3. 启用vi模式(可选) Termux命令行中修改已经输入的命令比较麻烦。
Ctrl + p (移到前一条命令) 和 Ctrl + n (移到后一条命令)或者键盘上的上下键,bash与zsh都能很好的支持; 快速执行历史命令 描述:既然我们把已经执行过的命令存储到 Shell...,Shell 并没有丢弃,而是将其保留在了删除缓冲器中,我们可以通过执行u命令来恢复这些删除的内容(可以多次使用) 替换文本:在删除该内容后再进入插入模式重新输入外,也可以使用 vi 编辑模式所提供的文本替换命令...结束 s 利用输入的字符来替换光标下的字符,直到按 Esc 结束 搜索字符:令用于搜索命令行中的字符 #当跟 d 和 c 命令组合使用,还能够删除或更改从光标处到该字符的这一段文本。...#进入命令模式后,按 fp 光标移到了 p 上,按 th 移到了 h 左边的w。按 Fm 光标左移到 m 上。...~$ setopt braceccl ~$ echo {A-Za-z} A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g
Ctrl + p (移到前一条命令) 和 Ctrl + n (移到后一条命令)或者键盘上的上下键,bash与zsh都能很好的支持; 快速执行历史命令 描述:既然我们把已经执行过的命令存储到 Shell...,Shell 并没有丢弃,而是将其保留在了删除缓冲器中,我们可以通过执行u命令来恢复这些删除的内容(可以多次使用) 替换文本:在删除该内容后再进入插入模式重新输入外,也可以使用 vi 编辑模式所提供的文本替换命令...#进入命令模式后,按 fp 光标移到了 p 上,按 th 移到了 h 左边的w。按 Fm 光标左移到 m 上。...~$ setopt braceccl ~$ echo {A-Za-z} A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g...h i j k l m n o p q r s t u v w x y z pushd 命令 popd 命令 描述:pushd和popd命令是操作目录栈,改变栈顶元素会切换目录; pushd命令:将元素加入到栈顶
fi Bash 这个简单的示例演示了 OR 运算符如何在 Linuxshell 脚本中工作。只有当用户输入数字 15 或 45 时,它才会宣布用户为获胜者。|| 符号表示 OR 运算符。...*)用于匹配除 100 和 200 以外的所有输入。 14.命令行参数 在许多情况下,直接从命令 shell 获取参数是有益的。下面的示例演示了如何在 bash 中执行此操作。 #!.../bin/bash echo -n "Enter first number:" read x echo -n "Enter second number:" read y (( sum=x+y )) echo...23.从 Bash 脚本创建目录 使用 shell 脚本运行系统命令的能力使开发人员的工作效率大大提高。下面的简单示例将向您展示如何在 shell 脚本中创建目录。 #!.../bin/bash echo -n "Enter filename ->" read name rm -i $name Bash 让我们输入 editors.txt 作为文件名,并在要求确认时按 y。
: 删除到行尾 ctrl + p/n: 上/下移动一行或者前/后一个命令 ctrl + b/f: 光标前/后移char esc + b/f: 光标前/后移word(蛋疼不能连续work) ctrl +...a/e: 到行首/行尾 ctrl + h/d: 删前/后字符 ctrl + y: 粘贴 ctrl + w: 删除前一个单词 esc + d: 删后一个单词 ctrl + _: undo ctrl + r...: bck-i-search/reverse-i-search,输入关键字搜索历史命令 上面的这些快捷键特别是在敲命令时还是很有用的(可能有的确实是在命令行中才生效),特别是结合 zsh 自动补全等功能...cmd + alt + e,在所有的 tab 中全局搜索,搜索出候选项后,再选择你想要进入的 tab。 ?...zsh-autosuggestions,如下图所示,我在 app-in-mac 这个目录下,刚输入了 git, 此时光标还在 p 前面, zsh 就已经自动给我补全了 git push origin source
提到 Shell 大家想必不会太陌生,我们通常认为 Shell 是我们和系统交互的接口,执行命令返回输出,比如 bash 、zsh 等。.../bin/bash read -p "请输入任意数字: " val real_val=66 if [ "$val" -gt "$real_val" ] then echo "输入值大于等于预设值".../bin/bash read -p "请输入任意数字: " val 请输入任意数字: 33 real_val=66 if [ "$val" -gt "$real_val" ] then echo...(MoeLove)➜ ~ bash -x compare.sh + read -p '请输入任意数字: ' val 请输入任意数字: 33 + real_val=66 + '[' 33 -gt 66.../bin/bash exec 6> debug.log PS4='$LINENO: ' BASH_XTRACEFD="6" read -p "请输入任意数字: " val real_val=66
指令名称为 j,主要有下面三种用法: // j,跳转到名称中包含 foo 的目录 $ j foo // jc,跳转到当前目录包含名称 bar 的子目录 $ jc bar // jo,使用文件管理器(...$ brew install autojump 复制代码 注意,安装成功后,要把以下命令添加到 ~/.zshrc 中,autojump 才能生效。...安装 Homebrew // 如果 shell 使用的是 zsh, 将 ~/.bash_profile 替换为 ~/.zprofile $ echo 'export HOMEBREW_BOTTLE_DOMAIN...taobao 测试源的速度 `nrm test 不使用 nrm 来查看使用的源,切换使用的源 // 查看当前使用的源 $ npm config get registry // 安装一个源 $ npm...注意,安装后直接使用 nvm,系统会提示 command nvm is not found 解决办法: // 1. 创建 ~/.nvm 文件夹 $ mkdir ~/.nvm // 2.
前言 从Windows转为Mac的用户,第一次配置JDK环境变量可能有些不知所措;上次给搭建介绍了如何在Linux上配置JDK,这次给大家介绍怎么在Mac上配置JDK。...版本,许可协议从BCL换成了OTN,这就意味着,你不能在生产环境使用这个版本了,所以个人推荐使用OpenJDK8或OpenJDK11: [JDK的选择] 下载好后,解压: [解压后得到的文件] 再打开该文件...,提取里面的包含Contents的文件夹,如: [包含Contents的文件,为JDK] macos自带一个Java虚拟机目录,只是默认为空;我们就把我们自己的JDK移动进去,terminal内输入:...配置环境变量 在比较旧版本的macOS内,环境变量的配置文件是 ~/.bash_profile;新版本的macOS(Catalina以后)使用zsh,所以配置文件是~/.zshrc。...: brew install jenv 之后根据自己terminal使用的是bash还是zsh来添加环境变量: export PATH="$HOME/.jenv/bin:$PATH" eval "$(jenv
会进行执行cat命令后再进行输出内容 read 命令 描述:read命令从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合 该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开...命令会一直等待用户输入,使用此选项可以指定等待时间 -n 字符数:read命令只接受指定的字符数就会执行 -a:"输入字符到某一数组里" -d:"指定分隔符,来结束输入" -r:"允许输出包含反斜杠"...p1} ${p2}" #将输入的第一个单词放到变量p1中,并将该行其他的输入放在变量p2中。.../bin/bash read -p "输入密码:" -s pwd #补充一个终端输入密码时候,不让密码显示出来的例子。..."-W wordlist":使用特殊变量IFS中的字符拆分单词列表wordlist,并扩展拆分后的每个单词,结果中与待补全单词 匹配的条目就是补全条目。
领取专属 10元无门槛券
手把手带您无忧上云