#!/bin/sh
echo "You choice?"
select var in "a" "b" "c";do
break;
done
echo $var
运行时出现:
select.sh: 3: select: not found
select.sh: 5: Syntax error: "done" unexpected
把#!/bin/sh改为#!/bin/bash
执行脚本时将sh select.sh改为 bash select.sh
墨衍会员
·
AI 创作全网分发
墨衍智能分发
本文由作者通过墨衍一键同步至各平台
1分发平台
5.4k累计阅读
5.5k平均单平台
已同步平台
优快云
微信公众号
微博
知乎
掘金
百家号
博客园
抖音
小红书
你的文章也可以这样分发
墨衍会员 ¥399起/年,写一次发全网
我也要 →
码龄15年
#!/bin/sh
echo "You choice?"
select var in "a" "b" "c";do
break;
done
echo $var
运行时出现:
select.sh: 3: select: not found
select.sh: 5: Syntax error: "done" unexpected
把#!/bin/sh改为#!/bin/bash
执行脚本时将sh select.sh改为 bash select.sh
终端与Shell完全解析:从核心概念到高频问题排查指南
终端是人机交互的窗口,负责输入输出,而Shell是运行在终端内的命令解释器程序,负责解析和执行用户指令。其工作原理基于伪终端机制,通过环境变量等桥梁与操作系统交互。理解终端与Shell的区别对于提升开发与运维效率至关重要,尤其在处理环境配置和自动化脚本时。在实际应用场景中,开发者常遇到“命令找不到”和“终端进程启动失败”等问题,这些问题通常源于PATH环境变量配置错误、脚本权限不足或终端模拟器兼容性问题。本文将从这些基础概念切入,系统梳理终端的历史演变、主流工具选择,并提供针对高频问题的实战排查思路,帮助读
linux 解决系统中有相应应用,但是出现终端:未找到命令
出现未找到命令有两种可能性: 1、没有该命令 2、有该命令但是没有设定为全局命令 针对第二种情况可以通过将命令全局化解决: ln -s /usr/local/mysql/bin/mysqladmin /usr/local/bin 使用 ln -s 命令地址 /usr/local/bin/ 这个代表着将你的命令地址软链接到全局范围 ...
Windows下R包编译报错‘make not found‘的完整解决方案
在软件开发中,构建工具链是代码从源代码转换为可执行程序的关键环节。make作为经典的构建自动化工具,通过解析Makefile文件来调用编译器完成编译链接过程。在R语言生态中,许多高性能扩展包的核心算法采用C/C++/Fortran编写,安装时需要调用make进行本地编译。Windows系统原生缺乏类Unix的编译环境,这导致安装需要编译的R包时频繁出现'make not found'错误。Rtools作为官方提供的Windows开发工具集,集成了gcc、make等必要组件,是解决该问题的核心技术方案。正确配
第一次使用crontab linux选择编辑器问题
第一次使用crontab 时,会出现 no crontab for root - using an empty one “Select a editor ......”下面有几个选项,就是叫你选择编辑器。(选vim)就可以了,我选的第三个。 但是如果你选错了,就可能会遇到点麻烦,没有办法正常编辑,crontab -e。 怎么办? 执行这个命令:select-editor (针对crontab的...
Shell跨平台本质解析:从Linux/macOS/Windows到adb与initramfs
Shell不是简单的命令行界面,而是操作系统内核与用户空间之间的核心协议接口。其行为由POSIX标准、内核系统调用、文件系统语义及工具链(如GNU Coreutils、BusyBox、BSD Utils)共同决定。理解shell作为程序解释器而非终端设备的本质,是解决跨平台脚本失效、权限异常和环境不一致问题的前提。从`ps`在Linux/macOS/WSL中的语义差异,到`adb shell`的busybox精简环境,再到`initramfs紧急shell`中无`man`无`vi`的真实约束,技术价值在于建
云服务器装zsh不是换壳,是环境治理基本功
shell 是 Linux 系统的入口级运行环境,zsh 作为现代交互式 shell,其安装与配置本质是对 PATH、登录会话生命周期、配置加载顺序等底层机制的系统性治理。理解 zshenv/zshrc 加载差异、/etc/shells 注册规则、非交互式 shell 的限制,是解决 'command not found' 类故障和保障 CI/CD 流水线稳定运行的技术前提。在阿里云 ECS、腾讯云 CVM 或 WSL2 等云环境部署 zsh,必须兼顾安全性、可审计性与自动化兼容性,而非仅追求本地开发体验。
shell select: not found
原因:不同的shell语法有一些不同,而ubuntu中默认的shell为dash ls -l /bin/sh lrwxrwxrwx 1 root root 4 1月 13 09:54 /bin/sh -> dash 通过查看可以发现sh默认链接的是dash 解决: 对已安装的dash进行重新配置 sudo dpkg-reconfigue dash
Claude Code Linux命令行集成实战:VS Code远程开发零配置落地
Claude Code并非传统远程API服务,而是一个面向开发者工作流的原生命令行工具(CLI),其核心原理是依托Rust静态编译二进制、仅依赖glibc 2.17+,无需Python或Node.js运行时。技术价值在于将AI编程能力深度嵌入Linux终端与VS Code远程SSH环境,实现低侵入、高响应、强可控的本地化智能辅助。典型应用场景包括代码解释、错误诊断、Git提交生成、日志分析及自动化技术报告,尤其适配Ubuntu/CentOS等主流发行版的远程开发链路。本文聚焦‘claude command
ubuntu选择编辑器select-editor
crontab 选择编辑器 select-editor 用root第一次运行 crontab -e 会出现如题的错误,解决方法如下: 1、select-editor 选择编辑器,我选的vim.basic。 2、crontab -e 进入编辑器编辑。 推荐第三种可以 vim复制 ...
数字IC后端设计实现之Innovus POD V2 Flow性能优化全解析
本文深入解析了数字IC后端设计中的Innovus POD V2 Flow性能优化方案。该流程通过整合place_opt_design与clock_opt_design命令,实现了布局与时钟树的协同优化,有效提升了时序收敛效率、改善了设计密度与拥塞,并显著减少了迭代次数,是应对先进工艺复杂设计的关键利器。
灵魂三问:因果推断
什么是因果推断?为什么研究因果推断?怎么进行因果推断研究?
T3 Code远程访问排错指南:快速定位node not found与端口扫描失败
[](https://li
攻防世界 web高手进阶区 9分题 Web_python_flask_sql_injection
继续ctf的旅程,开始攻防世界web高手进阶区的9分题,本文是Web_python_flask_sql_injection的writeup
Linux下explorer命令找不到?一文详解三种修复方案
在Linux环境中,执行命令时经常遇到'command not found'的报错,这通常源于系统PATH路径中不存在该可执行文件,而非系统故障。对于习惯了Windows的开发者来说,使用explorer命令打开文件管理器是常见操作,但在Linux中默认并无此命令,取而代之的是xdg-open等标准工具。同时,在Wine环境下还可能涉及explorer.exe的调用,其行为与Windows原版并不完全相同。理解这些底层原理,有助于快速定位跨平台脚本迁移中的命令兼容问题。本文从命令缺失的根本原因出发,系统梳理
(八)基于MuJoCo的LeRobot SO100仿真操控实战指南(操作优化)
本文详细介绍了如何在MuJoCo仿真环境中搭建并优化LeRobot SO100机械臂的操控。通过两种核心模式(纯键盘仿真与实机镜像同步)的实战演示,重点讲解了关键的参数标定方法,以实现虚拟模型与真实硬件的精准同步。文章还提供了性能优化技巧,旨在帮助开发者构建高效、安全的机器人算法开发与测试流程。
Type-C转DP1.4转C双向互传转接线方案
Type-C转DP双向互转方案的核心在于利用Type-C接口中的Alt Mode(交替模式)功能。通过利用Type-C接口的Alt Mode功能,该方案实现了Type-C接口与DP接口之间的双向互传,极大地丰富了用户的视觉体验。在选择Type-C转DP双向互转方案时,用户需要关注兼容性、性能需求、线缆长度和品牌等因素,以确保获得最佳的传输质量和使用体验。因此,Type-C转DP双向互转方案应运而生,旨在实现Type-C接口与DP接口之间的无缝连接,满足用户对高效能和高清晰度视频传输的需求。
解决g++ command not found:跨平台C++编译环境配置终极指南
在C++开发中,编译器是将源代码转换为可执行文件的核心工具,其工作原理是通过词法分析、语法分析、优化和链接等步骤生成机器码。环境变量PATH是操作系统定位可执行程序的关键机制,它决定了系统在哪些目录中搜索命令。对于C++开发者而言,正确配置g++编译器不仅能确保代码的顺利编译,更是实现跨平台开发、自动化构建和持续集成的基础。无论是开发桌面应用、系统软件还是嵌入式项目,一个稳定可靠的编译环境都是工程实践的基石。本文针对常见的“g++: command not found”报错,深入解析其背后的环境变量配置、多
我用 Python 监听了自己的键盘,生成击键热力图,看看每天到底在“摸鱼”还是“搬砖”?
数据采集(监听)、持久化(I/O)与可视化展示,必须是三个完全独立的模块,这符合单一职责原则。在多线程读写 Python 字典时,锁住的时间要尽可能短,防止 I/O 线程把高频的监听线程阻塞住。这类涉及底层的代码与“键盘记录木马”只有一线之隔。永远不要把击键记录通过网络上传,所有数据必须localhost消化。人脑对枯燥的 JSON 日志是不敏感的,但对颜色和空间极其敏感。这也是为什么 Prometheus + Grafana 是标配。使用ctypes。
Mac开发环境快速搭建:Shell+Homebrew+asdf三层基线实战
Mac开发环境本质是一套依赖严密的系统工程,其核心在于Shell解释器(zsh)的路径调度能力、包管理器(Homebrew)的可信源分发机制,以及多语言运行时(asdf)的按需路由逻辑。理解zsh作为命令入口对PATH的解析原理,是解决‘command not found’类问题的根本;掌握Homebrew双镜像策略(清华安装+中科大更新),可突破国内网络限制实现稳定交付;而asdf通过统一shim层抽象Python/Node.js/Rust等版本管理,避免PATH污染与全局冲突。该方案已验证支撑Pytho
【YOLOv8系列】在Windows上离线搭建YOLOv8运行环境
我们都知道,通过 pip安装YOLOv8是非常方便的,但是有时候网络环境受到限制,比如公司的工作站(无法连接网络)或者机房的教学机器等等,只能通过离线的方式安装YOLOv8;今天就来记录一下离线搭建YOLOv8运行环境的过程。并记录了遇到的问题及解决过程。
NVIDIA Omniverse 技术浅析(二):USD
例如,一个用户可以负责场景的几何体设计,另一个用户可以负责材质和灯光的调整。USD 的开放性和可扩展性,结合 Omniverse 的 Kit 扩展框架,使得用户和开发者可以创建自定义的应用程序和工具,以满足特定的需求。USD 的材质和物理属性系统,结合 Omniverse 的 RTX 实时渲染技术,使得用户可以在虚拟环境中看到逼真的光影效果和物理模拟。USD 的时间轴和动画功能,结合 Omniverse 的物理属性系统,使得用户可以为虚拟环境中的元素创建复杂的动画和物理模拟。
Ubuntu 18.04 安装 Anaconda 精准避坑指南
Anaconda 是面向数据科学的 Python 包与环境管理平台,其核心原理是通过独立于系统 Python 的隔离式运行时(含 conda、Python 解释器及预编译二进制包)实现跨项目依赖解耦。技术价值在于规避 apt/pip 混用导致的版本冲突、动态库不兼容与 PATH 污染,尤其适配老旧但仍在工业边缘场景广泛部署的 Ubuntu 18.04 系统。典型应用场景包括 PyTorch 环境配置、PyCharm/VS Code IDE 集成、WSL2 子系统部署及离线安装——这些正是‘anaconda下
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
CUDA环境变量配置避坑指南:解决‘nvcc not found’错误的3种方法
本文详细介绍了解决CUDA环境配置中‘nvcc not found’错误的三种实用方法,包括永久性全局路径配置、临时会话级路径配置和硬编码路径修改。特别强调了正确设置`/usr/local/cuda/bin`路径的重要性,并提供了多版本CUDA管理策略和验证步骤,帮助开发者高效解决环境变量问题。
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
Linux命令行与Shell脚本编程实战指南
Linux命令行与Shell脚本是系统管理与自动化运维的核心工具,基于Unix设计哲学,通过管道组合简单命令实现复杂功能。其技术价值在于提升操作效率与可重复性,广泛应用于日志分析、系统监控、批量处理等场景。本文重点解析find/grep/sed文件操作三剑客、进程管理工具top/htop,以及Shell脚本的健壮性规范与调试技巧,帮助开发者掌握awk文本处理、crontab定时任务等自动化运维关键技术。
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case)。下面我将通过例子介绍下,各个语句使用方法。 一、shell条件语句(if用法) if语句结构[if/then/elif/else/fi] 如果对于:条件测试语句不是很清楚,可以参考:linux shell 逻辑运算符、逻辑表达式详解 shell命令,可
2902

被折叠的 条评论
为什么被折叠?



