Ubuntu的shell程式設計問題 let找不到

2021-09-29 20:56:40 字數 439 閱讀 5677

問題:編寫shell指令碼時,遇到 let: not found 錯誤

原因:在ubuntu(18.04)預設是指向bin/dash直譯器的,dash是小巧的shell(閹割版的bash),其功能遠沒有bash強大和豐富。上述問題就是dash不支援let和i++運算等功能造成的。

解決辦法:

sudo dpkg-reconfigure dash選擇 「否」, 表示用bash代替dash

修改指令碼首行為#!/bin/bash或者直接將/bin/sh指向bash

sudo ln -sf /bin/bash /bin/sh

Shell 十三問整理

組成 literal meta 就是一些字母單詞,組成命令的 特殊保留字元,對於shell有特殊意義 重點meta有分command meta和shell meta 舉例awk 1.txt 這裡 會被解釋成shell meta。awk 1.txt 中的 被解釋成command meta 常見meta...

Shell 十三問 的學習記錄

在 bbs上看到了shell十三問的帖子,由於比較就遠了,怕以後再也找不到了,就把筆記貼過來了,shell 十三問 貼出我做的筆記 一 為何叫做shell 使用者通過shell 作業系統即核心kernel的外殼 與kernel溝通,這是shell與kernel的命名的關係。從技術角度講,shell的...

Linux的Shell程式設計 Shell基本語法

像高階程式語言一樣,shell也提供說明和使用變數的功能。對shell來講,所有變數的取值都是乙個字串,shell程式採用 var的形式來引用名為var的變數的值。shell基本語法 像高階程式語言一樣,shell也提供說明和使用變數的功能。對shell來講,所有變數的取值都是乙個字串,shell程...