簡體   English   中英

bin bash錯誤的解釋器

[英]bin bash bad interpreter

#! bin/bash
mkdir ~/folder
while [ $brojac -le 5]
do
mkdir ~/folder/zad"$brojac"
brojac = $(( brojac+1 ))
done

這是我的shellscript,但是當我想在終端中運行它時,我收到此錯誤

mint@mint ~ $ ./prvi.sh
bash: ./prvi.sh: bin/bash: bad interpreter: No such file or directory
mint@mint ~ $ 

它應該是

#!/bin/bash

(第一個斜杠)

#!/bin/bash
mkdir ~/folder
brojac=0
while [ "$brojac" -le 5 ]    # with [...], need to quote vars and spaces around [ and ]
do
  mkdir ~/folder/zad"$brojac"
  brojac=$(( brojac+1 ))     # cannot have spaces around =
done

我會寫:

for ((i=0; i<=5, i++)); do
    mkdir -p ~/folder/zad$i
done

或簡單地

mkdir -p ~/folder/zad{1..5}

如果要zad1, zad2 .. zad5

要么

mkdir -p ~/folder/zad{,1..5}

如果要zad, zad1, zad2 .. zad5

腳本中的小錯誤:

  1. $ brojac未分配,因此您的整數比較失敗。 為它分配一個初始值以進行修復。
  2. '['調用測試,因此您在左括號和右括號之間需要空格。
  3. 分配值時,等號周圍不能有空格。

您的腳本已更新:

#!/bin/bash
mkdir ~/folder
brojac=0
while [ $brojac -le 5 ]
do
    mkdir ~/folder/zad"$brojac"
    brojac=$(( brojac+1 ))
done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM