初學 linux shell 遇到的問題

2021-08-03 19:47:36 字數 833 閱讀 8238

linux shell中非常重要的東西是「空格」

一條命令列中,即使後面是符號(如 [ 、{ 、< 等)也要用空格隔開

`#!/bin/bash

#echo'hello,bash!'

echo'hello,bash!'

exit 0`

編譯器會報錯

nh.sh: 行 3: echohello,bash!: 未找到命令 nh.sh: 行 4: echohello,bash!: 未找到命令

再如

#!/bin/bash

#read anwser

if[ answer=y ]; then

echo "y"

fi

錯誤為

(輸入)y

linux.sh: 行 4: 未預期的符號 `then' 附近有語法錯誤

linux.sh: 行 4: `if[ answer=y ]; then

出現以上問題的原因是linux shell其實相當於命令文字,與直接在終端上輸入是一樣的,如我們在終端上會這樣寫 echo 「hello world」,而不會這樣寫 echo"hello world",所以在命令語句後面都要新增空格將他們分開,

而上述**中 linux shell 的命令語句後面都沒有新增空格,第一段**中 echo 與 』 之間缺少了空格,所以導致了錯誤,第二段**中 if 與 [ 缺少了空格,因為上述**沒有其他語法錯誤,所以修改的方法就是在命令語句後面新增空格即可。

一般學了c/c++ 後,初學 linux shell 的人容易犯此類錯誤,而且不容易找出

LINUX SHELL初學筆記

一 linux與shell詳解 2020.2.16見筆記 二 linux中檔案和目錄管理的基本命令 1 ls命令 檢視目標列表或者目錄的內容 語法 ls 選項 目錄或者檔案 a 顯示指定目錄下的所有子目錄與檔案,包含隱藏檔案 i 顯示檔案的詳細資訊 d 顯示目錄 2 cd命令 用來切換工作目錄 語法...

Django初學遇到的問題

1.django.utils.internalerror 1049,unknown database community 在使用mysql資料庫前得先建立資料庫 2.django.core.exceptions.improperlyconfigured error loading mysqldb m...

Gitee初學 遇到的坑

最好的gitee使用手冊還是官方文件 gitee官方使用手冊 以下操作在vscode中均有圖形介面作為替代,但是經常操作不當,而且操作頻率並不高,故仍選擇命令列方式 開始 每次新建乙個專案時,同時新建乙個本地倉庫和gitee雲端倉庫 每個本地倉庫對應乙個雲端倉庫 每個本地倉庫最好只存乙個專案,不然感...