คำถามติดแท็ก shell

เชลล์คือซอฟต์แวร์ที่ช่วยให้ผู้ใช้โต้ตอบกับระบบปฏิบัติการโดยปกติแล้วพิมพ์ที่บรรทัดคำสั่ง

3
ทำความรู้จักบรรทัดคำสั่งใน Ubuntu [ปิด]
ฉันต้องการทราบว่ามีการอ้างอิงใด ๆ หรือไม่ที่ฉันสามารถติดตามได้ในทุกสิ่งที่เกิดขึ้นใน GNOME-Terminal ฉันกำลังศึกษาเพื่อเป็นนักพัฒนาเว็บและฉันจะก้าวข้ามไปที่ Web Administer ฉันต้องการลงทุน ถึงเวลาที่จะเรียนรู้สิ่งที่บรรทัดคำสั่งด้วยหัวใจ ขณะนี้ฉันใช้ Ubuntu เพื่อเริ่มฉันใช้ Linux ตั้งแต่เดือนมกราคมดังนั้นฉันจึงไม่รู้ว่ากำลังทำอะไรกับ Ubuntu ฉันรู้แค่คำสั่งเล็กน้อย

2
linux: การตรวจสอบ tty1 ในจอแสดงผลกราฟิก
ฉันสงสัยว่าสิ่งนี้เป็นไปได้หรือไม่: ฉันมีสิ่งที่เกิดขึ้นใน TTY1 (เช่นคอนโซลขนาดใหญ่ที่ฉันได้รับโดยกดปุ่ม ctrl-alt-F1) และถ้าเป็นไปได้ฉันก็อยากจะ "ดู" ในทางใดทางหนึ่งของฉัน ส่วนต่อประสานกราฟิก (ctrl-alt-F7) อาจอยู่ในหน้าต่างเทอร์มินัล เป็นไปได้ไหม ฉันสามารถบอกหน้าต่างเทอร์มินัลไม่ให้วางไข่เชลล์ แต่ใช้เพียงหน้าต่างที่มีอยู่แล้วได้หรือไม่? ฉันไม่จำเป็นต้องสามารถโต้ตอบกับมันได้แม้ว่าจะเป็นสิ่งที่ดี ฉันแค่อยากเห็นมันจริงๆ สาเหตุของการมีอยู่บน TTY1 แทนที่จะเรียกใช้เชลล์ใน env แบบกราฟิกเป็นเพราะฉันอาจต้องรีสตาร์ทสภาพแวดล้อมแบบกราฟิกและไม่ต้องการให้กระบวนการสิ้นสุด ขอบคุณ มาลา

0
วิธีใช้คำสั่ง case สำหรับการกำหนดเวอร์ชันระดับ OS
ฉันพยายามที่จะเขียนสคริปต์ซึ่งโดยทั่วไปจะได้รับการดำเนินการตามรุ่นของระบบปฏิบัติการ .. นี่คือสิ่งที่ฉันทำจนถึงตอนนี้ .. #!/bin/bash publicyum="yum.oracle.com" osrelease0=`lsb_release -r | awk {'print $2'}` osrelease1=`lsb_release -r | awk {'print $2'}` arch=`uname -p` wget -q --spider http://$publicyum if [ $? -eq 0 ]; then case $osrelease0 in '5') ;; '5.1') ;; '5.2') ;; '5.3') ;; '5.4') ;; '5.5') ;; '5.6') ;; '5.7') ;; …
linux  bash  shell 

1
ค้นหาสตริงระหว่างการประทับเวลาสองครั้งโดยเริ่มจากด้านล่างของไฟล์
ฉันพยายามค้นหาสตริงCannot proceed: the cube has no dataในไฟล์ test.txt ขนาดใหญ่เฉพาะระหว่างการประทับเวลาเมื่อวานนี้ 22:30 น. ถึงวันนี้ 00:30 น. สคริปต์: tac test.txt | awk -v today=$(date "+%d") -v yesterday=$(date "+%d" -d yesterday) '/Cannot proceed: the cube has no data/ {f=$0; next} f{if (($3==yesterday && $4>"22:30:00") || ($4==today && $4<="00:30:00")) {print; print f} f=""}' test.txt: [Thu …
linux  bash  shell 

1
เรียกใช้งานเชลล์ย่อย bash และคาดว่าคำสั่ง
จากเชลล์สคริปต์ฉันจะเปิดใช้เชลล์ย่อย bash สำหรับผู้ใช้ & รอให้ผู้ใช้พิมพ์ exit ที่พรอมต์เชลล์ย่อยของ bash ได้อย่างไร ฉันพยายามbash -c expect -c 'expect "exit" {send "Exiting\n"}';แต่มันไม่ทำงาน กรุณาช่วย. ขอบคุณ

1
วิธีกำหนดค่าโดยใช้ปุ่มลูกศรเพื่อทำซ้ำคำสั่งเชลล์ก่อนหน้านี้ใน Minix
ฉันยังใหม่กับ Minix ฉันประทับใจมากกับความเร็วของระบบ มันดูสง่างามฉันชอบมัน อย่างไรก็ตามฉันมีคำถามเกี่ยวกับเชลล์ ใน Linux ในขณะที่ใช้เชลล์คุณสามารถใช้ปุ่มลูกศรขึ้นและลงเพื่อเลื่อนดูคำสั่งที่เรียกใช้ก่อนหน้านี้ บน Minix ด้วย sh shell ฉันสามารถพิมพ์ตัวเลขบนหน้าจอได้เท่านั้น ฉันจำได้ว่าฉันเลือกคีย์บอร์ด US-std เมื่อทำการติดตั้ง มีวิธีใดบ้างที่จะใช้ปุ่มลูกศรเพื่อเลื่อนดูคำสั่งก่อนหน้าบน Minix?
linux  unix  shell  sh  minix 

1
มีวิธีการส่งคำสั่งผ่านการโต้แย้งในเปลือก?
สิ่งที่ฉันพยายามทำให้สำเร็จคือการตั้งชื่อของวิดเจ็ตเมื่อคอมพิวเตอร์ไม่ทำงาน: xsidle.sh echo mywidget.title = "idle" | awesome-client เมื่อฉันลบxsidle.shมันทำงานไม่มีที่ติ xsidle.shประมาณ: sleep 10 command="$1" $command แน่นอนว่าผลลัพธ์ของ xsidle นั้นถูกเปลี่ยนเส้นทางไปที่สุดยอดไคลเอนต์ในขณะที่ฉันพยายามที่จะสะท้อนไปยังไคลเอนต์ที่ยอดเยี่ยมด้วยความล่าช้า ฉันได้พยายามหนีด้วย "หรือ" เอาต์พุตเอคโค่คือ " mywidget.title = "idle" | awesome-client"
linux  bash  shell  sh 

1
คำสั่งเพื่อแสดงพรอมต์คำสั่งของเชลล์
มีคำสั่งเชลล์เพื่อแสดงพร้อมท์คำสั่งหรือไม่ ฉันจะอธิบายสิ่งที่ฉันต้องการผ่านภาพประกอบด้านล่าง เมื่อฉันรัน script.sh ฉันควรได้รับผลลัพธ์ต่อไปนี้ $sh script.sh $ /* command prompt and then print hi */ hi script.sh ของฉันเป็นเช่นนี้ #! /bin/bash <command to display the shell command prompt> echo "hi" exit 0 สิ่งที่รหัสที่ควรไปในสถานที่ของวงเล็บมุมเพื่อให้ได้ผลลัพธ์เช่นด้านบน ขอบคุณ
unix  shell 

2
ละเว้นตัวแปรจากเชลล์อื่น
ฉันอยู่บนเวิร์กสเตชันลินุกซ์ในเครือข่ายโดยมีการแจกจ่าย "เก่า" นอกจากนี้ล็อกอินเชลล์ถูกบังคับใช้กับ CSH ฉันถามผู้ดูแลระบบแล้วว่าเป็นไปได้หรือไม่ที่จะเปลี่ยนไปใช้อันอื่น (ฉันต้องการทุบตี) แต่เป็นไปไม่ได้ ... ดังนั้นฉันกำลังรัน bash จากบรรทัดคำสั่งเป็นเชลล์ที่ไม่ใช่การเข้าสู่ระบบแบบโต้ตอบ (จริงๆแล้วฉันใช้ gnome และ gnome-terminal กับโปรไฟล์ที่รัน / bin / bash -i เป็นคำสั่ง) มากถ้าไม่ใช่สคริปต์ของฉันทั้งหมดใช้ bash ดังนั้นฉันจึงเรียกใช้จากมันเพื่อเรียกใช้ bash ด้วยสคริปต์ มันยุ่ง แต่ก็ใช้งานได้ ฉันมี. cshrc พร้อมกับตัวแปรสภาพแวดล้อม, นามแฝงและตัวเลือกสำหรับ csh ที่กำหนดในไฟล์. logi และ. csrc ใน $ HOME ของฉัน ฉันยังมี. bashrc / .bash_profile (ที่เปลี่ยนเส้นทางไปยัง. bashrc หากนี่เป็นเชลล์แบบโต้ตอบ) /. …
linux  bash  shell  tcsh 

1
ใช้วันที่เพื่ออัปเดตวันที่
ฉันพยายามที่จะทำตามไปพร้อมกับการออกกำลังกายในการเริ่มต้นบรรทัดคำสั่ง Linux แบบฝึกหัดหนึ่งขอให้ตั้งเวลาปัจจุบันเป็น 1 นาทีที่ผ่านมา ในขณะที่ฉันสามารถรับเวลาหนึ่งนาทีข้างหน้า: echo $( date --date='60 seconds ago' ) ฉันไม่สามารถใช้เพื่อตั้งค่าเวลา date --set=$( date --date='60 seconds ago' ) ฉันสมมติว่าฉันต้องบีบบังคับให้คืนค่ามาโครเป็นสตริงโดยใช้รูปแบบเดียวกับที่ฉันจะระบุให้กับ--setตัวเลือกหรือไม่
bash  shell 

1
ทำไม `. / file.py` ทำงาน แต่` ทุบตี file.py` ไม่ทำงาน?
ทำไมถึง./file.pyทำงาน แต่bash file.pyไม่ทำงาน เมื่อฉันทำงานbash file.pyหรือ. file.pyหรือsource file.pyรับข้อผิดพลาดเช่นนี้ file.py: line 4: syntax error near unexpected ..... แต่./file.pyทำงานได้ดี file.py #!/usr/bin/python3.4 if __name__ == "__main__": print("something")

1
ใน Bash ฉันสามารถให้ autocd เปิดโปรแกรมแก้ไขได้หรือไม่ถ้าฉันใส่ชื่อไฟล์?
ฉันเพิ่งตั้งค่าautocdของฉัน.bash_profile: shopt -s autocd ตอนนี้ฉันพิมพ์ได้ $ some-directory และโดยอัตโนมัติcdลงไป ตอนนี้ฉันสามารถบอก Bash ได้ไหมถ้าฉันป้อนไม่ใช่แค่ชื่อไดเรกทอรี แต่ชื่อไฟล์: $ some-directory/file.txt ฉันต้องการให้เปิดไฟล์นั้นในโปรแกรมแก้ไข (เช่น Vim) หรือไม่? ฉันไม่รู้ว่านี่จะเป็นตัวเลือกในตัว แต่ฉันหวังว่าฉันจะทำได้โดยใช้สคริปต์ที่ฉลาด

3
ถ่ายโอนการตั้งค่าเชลล์ไปยังเซสชัน ssh จากระยะไกลชั่วคราวหรือไม่
ฉันอยากรู้อยากเห็นบ่อยครั้งที่ฉันต้องการถ่ายโอนการตั้งค่าเปลือก (dotfiles) ทั้งหมดของฉันไปยังเซสชันระยะไกลเพียงแค่ในช่วงเซสชั่นของฉันแล้วพวกเขากลับรายการเมื่อฉันออกจากระบบ ยิ่งไปกว่านั้นคือให้ใช้งานเฉพาะในเซสชันนี้เพื่อให้ทุกคนที่เข้าสู่ระบบจะสามารถมีค่าเริ่มต้นหรือการตั้งค่าแบบกำหนดเองสำหรับเชลล์ มีวิธีที่จะทำในปัจจุบันหรือมันจะต้องมีโซลูชันที่กำหนดเองของฉันเขียนฟังก์ชันนี้ด้วยตัวเอง? ฉันไม่เห็นตัวเลือกที่แท้จริงใด ๆ เพื่อให้บรรลุสิ่งนี้
linux  bash  ssh  shell  zsh 

1
ฉันจะเปลี่ยน Windows Shell สำหรับผู้ใช้เพียงคนเดียวได้อย่างไร
ฉันลองใช้บทแนะนำที่นี่และควรจะใช้งานได้ แต่ไม่ได้ผล ฉันตรวจสอบตัวสะกดพา ธ รีจิสตรีและค่าของฉันสามครั้งและฉันทำตามทุกขั้นตอนอย่างถูกต้อง แต่ไม่ได้ผล ด้วยเหตุผลบางอย่างก็ยังคงไปที่สำคัญตั้งอยู่ใน HKLM (ภายในเครื่อง) แทน HKCU (ผู้ใช้ปัจจุบัน) แม้ว่าฉันเปลี่ยนแปลงมูลค่าที่เปลือกอยู่ในSoftware\Microsoft\Windows NT\CurrentVersion\IniFileMapping\system.ini\bootการUSR:Software\Microsoft\Windows NT\CurrentVersion\Winlogon มันไม่สมเหตุสมผลเลยทำไมมันไม่ทำงาน หมายเหตุ:ฉันกำลังพยายามลบเชลล์โดยสมบูรณ์สำหรับผู้ใช้รายหนึ่งบนคอมพิวเตอร์ แต่ไม่มีใครเลย นอกจากนี้ฉันแน่ใจว่าฉันได้เข้าสู่ผู้ใช้ที่ถูกต้องเมื่อฉันเปลี่ยนค่าเชลล์ใน HKCU ฉันใช้ Windows XP SP3

1
วิธี `ส่งออก PATH` จาก C [ปิด]
สงสัยว่าจะทำสิ่งใดสิ่งหนึ่งจาก C ให้สำเร็จได้อย่างไรเพื่อให้มันคงอยู่เหมือน~/.bashrcหรือจาก~/.bash_profile: export PATH=~/bin:$PATH export PS1="$ " สงสัยว่าฉันควรใช้execlคำสั่งแบบนี้: #include <stdio.h> #include <unistd.h> #include <dirent.h> int main (void) { return execl("/bin/export", "...", NULL); } หรือถ้ามีอีกวิธีสำนวน C เพื่อให้บรรลุสิ่งนี้อย่างถูกต้อง
bash  shell  c 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.