Score:0

ไม่พบคำสั่ง awk return บนเดสก์ท็อป Ubuntu แต่ทำงานได้ดีบน Centos

ธง cn

ฉันสร้าง test.sh เพื่ออ่านไฟล์ที่มีเนื้อหา

item1:return1
item2:return2
...
item10:return10

เนื้อหา test.sh

VAR1=$1
VAR2= `grep "^${VAR1}:" /home/path/file | awk '{พิมพ์ $2;}'`

echo "${VAR2}";

เรียกใช้การทดสอบ

sh test.sh รายการที่ 1

กลับ

: ไม่พบ test.sh: 
: ไม่พบ test.sh: 

เมื่อฉันเรียกใช้สิ่งเดียวกันบน Centos กลับ

กลับ1

เกิดอะไรขึ้นกับคำสั่ง awk ?

muru avatar
us flag
ผลลัพธ์ดูเหมือนว่าไฟล์มีการสิ้นสุดบรรทัด CRLF คุณแก้ไขบน Windows ในบางจุดหรือไม่
Score:0
ธง vn

ไม่มีอะไรผิดปกติกับคำสั่ง awk ปัญหาของคุณคือ ทดสอบ.sh ไม่พบตามที่ข้อความแสดง CentOS อาจกำหนดเส้นทางของคุณเป็นตัวแปร PATH

เรียกใช้งานเป็น sh ./test.sh รายการที่ 1 (ฉันถือว่า test.sh อยู่ในไดเร็กทอรีปัจจุบันของคุณ)

แก้ไข: ฉันควรจะให้ความสนใจกับสคริปต์มากกว่านี้ : ใน grep เป็นปัญหา สิ่งนี้ได้ผล

VAR1=$1
VAR2=`grep "${VAR1}\:" ไฟล์ | awk '{พิมพ์ $2}'`
echo "${VAR2}";

อย่างไรก็ตาม awk ไม่รู้จักโดยค่าเริ่มต้น : ฉันต้องใช้เป็นตัวคั่น

รายการที่ 1: ผลตอบแทนที่ 1
รายการ 2: ผลตอบแทน 2

ฉันไม่รู้ว่ามันจะทำงานบนเซิร์ฟเวอร์หรือ centos ได้อย่างไรหากไม่มีการเปลี่ยนแปลงนี้

Shuch Saipay avatar
cn flag
คุณถูกต้อง test.sh อยู่ในไดเร็กทอรีปัจจุบันของฉัน ฉันลองด้วยผลลัพธ์ "sh ./test.sh item1" เหมือนกัน (ต่างกันเล็กน้อย) : ไม่พบ2: ./test.sh: : ไม่พบ5: ./test.sh:
vanadium avatar
cn flag
ตรวจสอบให้แน่ใจว่าตั้งค่าบิตปฏิบัติการแล้ว
Shuch Saipay avatar
cn flag
แปลกมากที่ฉันสามารถเรียกใช้คำสั่งได้ดีบนเวอร์ชันเซิร์ฟเวอร์ Ubuntu แต่ไม่สามารถทำงานบนเดสก์ท็อป Ubuntu ได้ คำสั่งเดียวกันทั้งหมด
marosg avatar
vn flag
คุณแสดงผลลัพธ์ของ `ls -l test.sh` ได้ไหม

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา