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

Bash (Bourne-Again SHell) เป็นเชลล์ที่ใช้ในอินเตอร์เฟสบรรทัดคำสั่งของ Ubuntu ตามค่าเริ่มต้น

4
ทำไมฉันไม่สามารถใช้ '~' แทน '/ home / ชื่อผู้ใช้ /' เมื่อให้เส้นทางของไฟล์
ฉันสามารถใช้~แทน/home/username/การชี้ไปที่พา ธ ไฟล์เมื่อตัวอย่างเช่นการขยาย.zipไฟล์ อย่างไรก็ตามวันนี้เมื่อฉันทำตามวิธีเดียวกันในการเรียกใช้ตัวอย่าง RNN ในเทอร์มินัลtensorflow.python.framework.errors_impl.NotFoundErrorก็ถูกโยนทิ้งไป $ python ptb_word_lm.py --data_path=~/anaconda2/lib/python2.7/site-packages/tensorflow/models-master/tutorials/rnn/simple-examples/data/ --model=small I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 …

5
ความแตกต่างระหว่างไฟล์ bash.bashrc และ / etc / environment
จนถึงวันที่ฉันเคยตั้งค่าตัวแปรสภาพแวดล้อมของฉันในbash.bashrcไฟล์ เมื่อเร็ว ๆ นี้ฉันถูกบอกให้ใช้/etc/environmentไฟล์ ทั้งสองทำงานได้ดี ดังนั้นความแตกต่างระหว่างพวกเขาคืออะไร? ฉัน googled นี้และฉันพบว่า "bashrc ใช้สำหรับผู้ใช้และสภาพแวดล้อมระบบโดยเฉพาะ" ระบบมีความหมายที่นี่อย่างไร /etc/bash.bashrcยังใช้การเปลี่ยนแปลงของระบบอย่างกว้างขวางฉันเดา ถูกต้องฉันถ้าฉันผิด ความช่วยเหลือใด ๆ จะได้รับการชื่นชม ..

4
ใช้คำสั่ง watch run 2
ฉันต้องดูคำสั่งสองคำในหน้าต่างเทอร์มินัลเดียวกัน ฉันหมายถึงสิ่งที่ชอบ watch du -h filename.txt && df -h แต่มันแสดงเพียงหนึ่งเอาต์พุต ดังนั้นสิ่งที่ฉันคิดว่าอาจเป็นไปไม่ได้ที่จะใช้นาฬิกาเพื่อเรียกใช้หลายคำสั่งในหน้าต่างเดียวกัน หากมีวิธีใด ๆ โปรดแจ้งให้เราทราบ ขอขอบคุณ.

10
วิธีแสดงรายการไฟล์ทั้งหมดในแผนผัง (ไดเร็กทอรีและโฟลเดอร์ย่อย)?
สำหรับภารกิจของฉันฉันต้องการแสดงรายการไฟล์ทั้งหมดในแผนผัง ฉันต้องการเห็นพวกเขาใน Nautilus หรือ Krusader แต่โซลูชันบรรทัดคำสั่งก็น่าสนใจเช่นกัน (ในกรณีนี้ฉันจะต้องใช้ชื่อเต็มขนาดและเวลาในการแก้ไข)
41 nautilus  bash  files  krusader  ls 

2
ลำดับของสคริปต์ที่มาเมื่อเข้าสู่ระบบ
~/.bash_profileผมอยากที่จะมีสมาธิทั้งหมดเข้าสู่ระบบการตั้งค่าของฉัน มี~/.bashrcโดยมีค่าเริ่มต้น ~/.bash_profileแต่ฉันแทนที่มันด้วย อย่างไรก็ตามเมื่อฉันเข้าสู่ระบบบางสิ่งก่อนที่ฉัน~/.bash_profileจะได้รับที่มาและแสดงต่อไปนี้: Linux ubnt10-dev1 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux Ubuntu 10.04.4 LTS Welcome to the Ubuntu Server! * Documentation: http://www.ubuntu.com/server/doc System information as of Fri May 9 12:17:39 EDT 2014 System load: 0.01 Processes: 74 Usage of /: 5.5% of 18.58GB Users …
41 bash  login  bashrc  .profile 

2
ความแตกต่างระหว่าง“ <command> & disown” และ“ nohup <command> & disown”
นี่คือความเข้าใจของฉันเกี่ยวกับการใช้ของ&amp;, disownและnohup: &lt;command&gt;: วิ่งกระบวนการภายในปัจจุบันของสถานีbashเช่นในเบื้องหน้า (คือกระบวนการที่ระบุว่าเป็นbashงานเบื้องหน้าและstdin, stdoutและstderrยังคงผูกไว้กับขั้ว ); ไม่ภูมิคุ้มกัน hangups ; &lt;command&gt; &amp;: วิ่งกระบวนการภายในปัจจุบันของสถานีbashเช่นในพื้นหลัง (คือกระบวนการที่ระบุว่าเป็นbashงานพื้นหลังและstdin, stdoutและstderrยังคงผูกไว้กับขั้ว ); ไม่ภูมิคุ้มกัน hangups ; &lt;command&gt; &amp; disown: วิ่งกระบวนการภายในปัจจุบันของสถานีbashเช่นในพื้นหลังแต่กระบวนการนี้ออกจากbashรายการของงาน ' (คือกระบวนการที่ไม่ได้ระบุว่าเป็นbashเบื้องหน้างานพื้นหลัง / และstdin, stdoutและstderrยังคงผูกพันไปยังสถานี ); ภูมิคุ้มกันต่อ hangups ; nohup &lt;command&gt; &amp; disown: วิ่งกระบวนการภายในปัจจุบันของสถานีbashเช่นในพื้นหลังแต่กระบวนการนี้ออกจากbashรายการของงาน ' (คือกระบวนการที่ไม่ได้ระบุว่าเป็นbashเบื้องหน้างานพื้นหลัง / และstdin, stdoutและstderrจะไม่ได้ยังคงผูกพันไปยังสถานี ) ; ภูมิคุ้มกันต่อ hangups ; ดังนั้นนอกเหนือจากnohup &lt;command&gt; &amp; …

2
ไม่ได้บันทึกประวัติทุบตีหลังจากปิดเทอร์มินัล
ฉันเพิ่งเปลี่ยนการติดตั้ง Ubuntu 14.04 ด้วย Ubuntu Gnome (ซึ่งมาพร้อมกับ Gnome DE) แต่ฉันสังเกตเห็นว่าประวัติทุบตีจะไม่ถูกบันทึกเมื่อปิดเทอร์มินัลเซสชัน เมื่อฉันปิดเทอร์มินัลเซสชันและเปิดใหม่และเรียกใช้คำสั่งhistoryจะไม่แสดงอะไรนอกเหนือจากhistoryคำสั่งของตัวเอง มีวิธีใดในการแก้ปัญหานี้หรือไม่? ขอขอบคุณ

5
จะตรวจสอบได้อย่างไรว่า $ 1 และ $ 2 เป็นโมฆะ?
ฉันใช้งานสคริปต์ที่ผ่านการโต้แย้งสตริงและฉันต้องการจะทำอย่างไรถ้าคำสั่งอื่นที่แสดงด้านล่าง if [ $1 != '' ] &amp;&amp; [ $2 != '' ] then do something..... Error too many argumentแต่มันก็แสดงให้เห็นว่า ทำไม?

9
ตัดไดเรกทอรีการทำงานของพรอมต์คำสั่งเทอร์มินัล
เมื่อใช้เครื่องเทอร์มินัลในโครงสร้างโฟลเดอร์แบบลึกบางครั้งพรอมต์สามารถใช้งานได้เกือบทุกบรรทัด มีวิธีใดบ้างที่ฉันสามารถตัดทอนไดเร็กตอรี่ที่ทำงานได้? ฉันรู้ว่าฉันสามารถทำ PS1="\W &gt;" เพื่อพิมพ์เฉพาะไดเรกทอรีปัจจุบันและไม่ใช่เส้นทางแบบเต็ม แต่มีวิธีการเช่น: /home/smauel/de...ther/folder &gt;

10
จะทราบได้อย่างไรว่าแพลตฟอร์มที่ทำงานคือ Ubuntu หรือ CentOS ด้วยความช่วยเหลือของสคริปต์ Bash?
ฉันรู้ว่าคำสั่งเพื่อตรวจสอบชื่อของเครื่อง Linux ที่ทำงานบนเครื่องของฉัน ตัวอย่างเช่น: อูบุนตู cat /etc/version CentOS cat /etc/issue ฉันจะรับเอาต์พุตจากเทอร์มินัลและเปรียบเทียบเพื่อดูว่าเป็น UBUNTU หรือ CENTOS และดำเนินการคำสั่งต่อไปนี้ได้อย่างไร? apt-get install updates หรือ yum update Ubuntu 14.04 cat /etc/issue


5
ทำไมทุบเปลือกเริ่มต้นในระบบปฏิบัติการส่วนใหญ่?
ทำไมทุบเปลือกเริ่มต้นในระบบปฏิบัติการส่วนใหญ่ (Ubuntu, Fedora, OSX ฯลฯ ) เหตุใดผู้ใช้ขั้นสูงจำนวนมากจึงมักใช้ zsh หากเป็นสิ่งที่ดีทำไมจึงไม่เป็นค่าเริ่มต้น ฉันใช้ทั้งฉันไม่เห็นความแตกต่างสำหรับงานทั้งหมดของฉันง่าย :)

2
[t] นิพจน์วงเล็บปีกกานี้ใน grep ทำงานอย่างไร
ฉันเห็นหนึ่งซับนี้เมื่อเร็ว ๆ นี้: $ ps -ef | grep [f]irefox thorsen 16730 1 1 Jun19 ? 00:27:27 /usr/lib/firefox/firefox ... ดังนั้นดูเหมือนว่าจะส่งคืนรายการกระบวนการด้วย "firefox" ในข้อมูล แต่ไม่รวมกระบวนการ grep เองและดังนั้นจึงดูเหมือนว่าจะเทียบเท่ากับ: ps -ef |grep -v grep| grep firefox ฉันไม่เข้าใจว่ามันทำงานอย่างไร ฉันดูหน้า man บน grep และที่อื่น ๆ แล้ว แต่ไม่พบคำอธิบาย และเพิ่มความลึกลับถ้าฉันวิ่ง: $ ps -ef | grep firefox &gt; data $ …

7
วิธีการทุบตีเพื่อหยุดการหลบหลีก
ฉันมีสิ่งนี้ในบรรทัดคำสั่ง: ln -sf $PWD/wine- แล้วฉันก็กดปุ่มTabเพื่อเติมชื่อไฟล์ให้เสร็จ ใน Ubuntu รุ่นก่อนหน้านี้ใช้งานได้ดีเพื่อทำให้wine-ชื่อไฟล์เสร็จสมบูรณ์(และผลข้างเคียง$PWDจะขยายในเวลานั้น) แต่ตอนนี้มันกลับกลายเป็น ln -sf \$PWD/wine- $ซึ่งไม่ได้เป็นสิ่งที่ฉันหมายที่ทุกคนและไม่ได้อะไรที่สมบูรณ์เป็นไฟล์ไม่เริ่มต้นด้วยตัวอักษร ฉันจะกลับไปสู่พฤติกรรมที่เสียน้อยลงได้อย่างไร set บอกฉันเหล่านี้เป็นการตั้งค่าปัจจุบันของฉัน: BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor

3
คุณจะเปลี่ยนเปลือกเริ่มต้นสำหรับผู้ใช้ทุกคนเพื่อทุบตีได้อย่างไร
ฉันต้องการให้ผู้ใช้ใหม่ทุกคนจากนี้ไปมีทุบตีเป็นเปลือกของพวกเขาโดยค่าเริ่มต้น ฉันรู้ว่าในการเปลี่ยนเชลล์ของคุณเองเป็นทุบตีคุณจะใช้คำสั่ง "chsh -s / bin / bash" แต่ฉันจะตั้งค่าเชลล์ของผู้ใช้ในอนาคตทั้งหมดให้เป็นทุบตีโดยอัตโนมัติได้อย่างไร

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