簡體   English   中英

bash 字符串格式在命令使用中重置

[英]bash string format resets in command use

我正在嘗試為 class 自動化 git 克隆,但在格式化 bash 中的字符串時遇到問題。

#!/bin/sh
students=()
while IFS=,  read -r lastname firstname; do
    #students+="$lastname$firstname"
    student=$lastname$firstname
    echo $student
    echo $lastname
    git clone "...$student/unit02.git" $student
done < studentNames.csv | tr -d '" '

echo 將產生正確的格式,即不帶引號的名稱。 但是,在克隆時,$student 變量的兩種用法都會返回未格式化。

也許嘗試:

while IFS=,  read -r lastname firstname; do
<logic>
done < <( tr -d '" ' < studentNames.csv )

當你寫< studentNames.csv | tr -d '" ' < studentNames.csv | tr -d '" '您沒有將過濾后的文件傳遞到 while 循環中,而是將未過濾的文件傳遞到 while 循環中,然后過濾所有output 。 echo 語句打印正確的值,因為它們正在被過濾現場,但變量中的值不正確。

暫無
暫無

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

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