タグ付けされた質問 「shell」

シェルは、Unixのコマンドラインインターフェイスです。シェルにインタラクティブにコマンドを入力するか、スクリプトを記述してタスクを自動化できます。/ bin / shおよび最も互換性のあるシェル(ash、bash、ksh、zshなど)に適用される質問には、このタグを使用します。エラーのあるシェルスクリプトについては、ここに投稿する前にhttp://shellcheck.netで確認してください。

4
特定のフォルダー内の特定の拡張子を持つすべてのファイルを削除するにはどうすればよいですか?
現在のディレクトリと作業ディレクトリを(を使用して移動するcd)特定のディレクトリに設定し、次のように入力した場合: rm *.xvg このコマンドは何をしますか?それが真実であること上記のコマンド意志だけの拡張子を持つファイルの削除.xvg だけの作業ディレクトリにありますか? 上記のコマンドがWORKING DIRECTORYにある.xvgファイルのみを削除することを絶対に確認したいので、尋ねる前にこれを試してみることに緊張しました。
36 bash  shell  directory  rm 



4
1番目の引数を除く$ @
この方法で実行されるシェルスクリプトを作成する必要があります。 ./myscript arg1 arg2_1 arg2_2 arg2_3 ....... arg2_# スクリプト内にforループがあります for i in $@ ただし、私が知っているように、$ @には$ 1から$($#-1)までが含まれます。しかし、私のプログラムでは、$ 1は$ 2 $ 3 $ 4などとは明らかに異なります。$ 2から最後までループしたいのですが... ありがとうございました:)
36 bash  shell  scripting 

5
実行前にシェルスクリプト全体を読み取る方法
通常、scrpitを編集する場合、スクリプトの実行中の使用はすべてエラーになりやすいです。 私の知る限り、bash(他のシェルも?)はスクリプトをインクリメンタルに読み取ります。したがって、スクリプトファイルを外部で変更すると、間違ったものの読み取りを開始します。それを防ぐ方法はありますか? 例: sleep 20 echo test このスクリプトを実行すると、bashは最初の行(10バイトなど)を読み取り、スリープ状態になります。再開すると、スクリプトには10​​バイト目から異なる内容が含まれることがあります。新しいスクリプトの行の途中にいる可能性があります。したがって、実行中のスクリプトは壊れます。
35 shell 

3
バックティックを理解する( `)
私はコマンドを試しています $ b=5; echo `$b`; -bash: 5: command not found ただし、想定どおり5は出力されません。ここに何が欠けていますか? コマンドで `(バッククォート/バックティック)はどういう意味ですか?`内のコマンドを評価し、それらを出力に置き換えると言っているようです。


5
〜/ .bash_profileが機能しないのはなぜですか?
Linux Mintを使用しています。私のログインシェル(cat /etc/passwd | grep myUserName)はbashです。 グラフィカルデスクトップ環境を起動し、そこからターミナルエミュレータを実行すると、.bash_profileソースされていないことがわかります(その環境でexportedされている環境変数は設定されていません)。しかし、テキストコンソール(ctrl+ alt+ F1)からログインするかbash -l、ターミナルエミュレータから手動で実行すると、.bash_profile正常に動作します。 .bash_profileXが起動し、すべてのexport'ed varsがXから実行されているターミナルで利用可能になったときにソースを取得する必要があると思う場合、私は間違っていますか? PSすべてを配置して.bashrcそこから調達するの.bash_profileは良い考えではありません(https://stackoverflow.com/questions/902946/):環境関連のものは1回だけ調達する必要があります。
35 bash  shell  login  profile 

7
2>&1> output.logと2>&1の違い| tee output.log
次の2つのコマンドの違いを知りたかった 2>&1 > output.log そして 2>&1 | tee output.log 同僚の1人が2番目のオプションを使用してリダイレクトするのを見ました。私は2>&1が何をするか知っています、私の唯一の質問は、単純なリダイレクト「>」演算子を使用できるteeを使用する目的は何ですか?

5
変数に保存されたコマンドを実行するにはどうすればよいですか?
$ ls -l /tmp/test/my\ dir/ total 0 上記のコマンドを実行する次の方法が失敗または成功する理由を疑問に思っていましたか? $ abc='ls -l "/tmp/test/my dir"' $ $abc ls: cannot access '"/tmp/test/my': No such file or directory ls: cannot access 'dir"': No such file or directory $ "$abc" bash: ls -l "/tmp/test/my dir": No such file or directory $ bash -c $abc 'my …
35 bash  shell  quoting  variable 

2
デフォルトのシェルとしてcshからbashに変更する方法
にcsh示すように、デフォルトのシェルとして持っていますecho $SHELL。bashデフォルトのシェルに切り替えたい。私は次のアプローチを試してみました: chsh私は取得します: chsh: can only change local entries; use ypchsh instead. ypchsh私は取得します: ypchsh: yppasswdd not running on NIS master host ("dcsun2"). 私.chsrcは自分のホームディレクトリにしかなく、で.profileファイルを見つけることができません/etc。デフォルトのシェルをどのように変更できますbashか?
34 shell 



8
シェルを使用して異なるオーディオ出力ハードウェアを切り替えるにはどうすればよいですか?
私はラップトップでスピーカーを備えた外部モニターを使用しています。モニターがHDMIを介して接続されている場合、通常のラップトップオーディオ出力とモニター出力を切り替えることができます(GUIを使用して、サウンド設定->ハードウェア)。 この手順を何度も繰り返し、自動化できるのか、とにかくシェルを使用してより高速に実行できるのか疑問に思い始めました。 私のディストリビューションは、gnome 3を搭載したUbuntu 12.04です。 編集: 私はpacmdを使用してみましたが、list-sinksは現在使用しているデバイスのみを提供します。 pacmd list-sinks | grep name: name: <alsa_output.pci-0000_00_1b.0.hdmi-stereo> GUIから切り替えた後: pacmd list-sinks | grep name: name: <alsa_output.pci-0000_00_1b.0.analog-stereo> そして、私がそれを変更しようとすると、私は得る: pacmd set-default-sink alsa_output.pci-0000_00_1b.0.hdmi-stereo Welcome to PulseAudio! Use "help" for usage information. Sink alsa_output.pci-0000_00_1b.0.hdmi-stereo does not exist.

3
:$ {param:= value}はどういう意味ですか?
Z-Shellのユーザーガイドで以下を読みました。 「true」の同義語は「:」です。この形式では、副作用はあるが使用すべきではない引数を与えるためによく使用されます。 : ${param:=value} これは、すべてのボーンシェルデリバティブの一般的なイディオムです。パラメータ展開で$paramは、以前に空だった場合は値valueが与えられ、それ以外の場合はそのままになります。それがパラメータ拡張の唯一の理由であるため:、引数を無視するために使用します。実際には、シェルはコマンドラインを簡潔に構築します-コロン、その後に値が何であれ$param、割り当てが行われたかどうかに関係なく-その後、コマンドを実行します。':'が与えられた引数に気付かないのは偶然です。 しかし、私はそれを理解していません。という:意味trueですが、式には2つのコロンがあります。小さな質問として、なぜこのイディオムがすべてのBourneシェル派生物でそんなに使われているのですか?どんな目的に役立ちますか? 注: このイディオムがbashとzshの両方で行うことに興味があります。 ありがとう
34 bash  shell  zsh 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.