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

他のBourne / POSIXシェルとは対照的に、GNUのBourne Again SHellに固有の質問。Unixシェル全般に関する質問については、代わりに/ shellタグを使用してください。

7
子を殺さずに(最初に `screen`を実行せずに)どうやって端末を閉じることができますか?
時々gnome-terminalでアプリを実行しますが、突然gnomeまたは何かを再起動する必要があります。質問への答えも役立つと思うので、何かが起こっているSSHから切断したいと思います。 Gnomeのターミナルツリーは次のようになります。 gnome-terminal bash some-boring-process 缶I「デタッチ」bashからgnome-terminal(またはデタッチsome-boring-processのbashから、その出力どこかにリダイレクト)?私が単に殺すとgnome-terminal、bashそのすべてのサブプロセスに殺されます

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 

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 

1
どうやって !!バッシュで働く?
コマンドの先頭でsudoを忘れた場合に非常に便利!!で、前のコマンドのエイリアスのように機能します。例: $ mv /very/long/path/for/a/protected/sensible/file/caution.h . (...) Permission denined $ sudo !! sudo mv /very/long/path/for(...) . [sudo] password : このダブル!!トリックをどのように呼び出すのですか?そのトークンのため、インターネットでの研究は困難です。 どのように機能しますか?historyコマンドとのリンクが疑われます。 定義されている場所 他に自分で定義できますか? 編集:いくつかの興味深いイベント指定子 !!:* 前のコマンドの引数を参照します。使用事例 : cat /a/file/to/read/with/long/path nano !!:* :p コマンドを実行せずに印刷するだけで、イベント指定子の最後に配置する必要があります。 $ !-5:p sudo rm /etc/fstab -f 詳細はこちら。

10
すべてのサブディレクトリにディレクトリを作成するにはどうすればよいですか?
次のようなディレクトリ構造があるとします。 $ [〜/ practice] ls あいうえお/ 今、私tmp1はすべてのサブディレクトリにディレクトリを作成したいので、practiceこれを行います: $ [〜/ practice] mkdir * / tmp1 mkdir:ディレクトリ `* / tmp1 'を作成できません:そのようなファイルまたはディレクトリはありません 次に、-pスイッチを試し*て、サブディレクトリという名前のディレクトリになりますtmp1 $ [〜/ practice] mkdir -p * / tmp1 $ [〜/ practice] ls */ あいうえお/ -pスイッチの使用は、存在しない複数のディレクトリを作成することです。私はちょうどそれが役立つかもしれないと思った。 tmp1すべてのサブディレクトリに一度に作成するにはどうすればよいですか? これを行うことができるならば、どのように私はそれを作成するために拡張しない\tmp1、\tmp2、\tmp3で\a、\bと\c一度に? 編集:私は、ディレクトリは、シンプルで順番に、同様である必要はありませんことを言及逃したa、b、cなど、および作成するディレクトリは次のように、必ずしもではありませんtmp1、tmp2。 $ [〜/ practice] ls 犬/猫/ラット/ それらの中で、私は次のようなものを持ちたいです $ [〜/ practice] ls * 犬: …



2
bashでドル記号の後に角括弧$ […]が続くとはどういう意味ですか?
の$[expr]ように算術展開を実行するよう$((expr))です。しかし$[、bashのマニュアルには言及がありません。このコマンドでは結果が得られません。 gunzip -c /usr/share/man/man1/bash.1.gz | grep -E '\$\[' この演算子は何であり、その動作はどこでも標準化されていますか? 私のbashバージョン:GNU bash、バージョン3.2.51(1)-release(x86_64-apple-darwin13)
34 bash  arithmetic 

3
grepからawkへのパイピングが機能しない
ファイルログgrepの継続tailを試みて、n行からthワードを取得しようとしています。サンプルファイル: $ cat > test.txt <<EOL Beam goes blah John goes hey Beam goes what? John goes forget it Beam goes okay Beam goes bye EOL ^C 今私がする場合tail: $ tail -f test.txt Beam goes blah John goes hey Beam goes what? John goes forget it Beam goes okay Beam goes …
34 bash  grep  rhel  awk  tail 

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

9
vimのコマンドの結果で指定されたファイルを開きます
ほぼ毎日次のことをやっている 検索を実行(find -name somefile.txt) 結果を開く vim 問題はfind、vimコマンドの結果をコピーして貼り付ける必要があることです。これを行うことを避ける方法はありますか?私は少し実験しました(find -name somefile.txt | vim)が、うまくいくものが見つかりませんでした。 前もって感謝します
34 linux  bash  vim  find 

6
ループを1秒に1回正確に実行する
このループを実行して、毎秒いくつかのことを確認して印刷します。ただし、計算には数百ミリ秒かかることがあるため、印刷時間は1秒スキップすることがあります。 毎秒印刷することが保証されているようなループを書く方法はありますか?(もちろん、ループ内の計算にかかる時間は1秒未満です:)) while true; do TIME=$(date +%H:%M:%S) # some calculations which take a few hundred milliseconds FOO=... BAR=... printf '%s %s %s\n' $TIME $FOO $BAR sleep 1 done
33 bash  timestamps  sleep 


4
scl CentOS 6.4を永続的に有効にする方法
新しいバージョンのdevtoolset(1.1)をインストールしましたが、これらを永続的にデフォルトに設定する方法を知りたいと思いました。今、CentOSを実行しているサーバーにsshするとき、このコマンドを実行する必要がありますscl enable devtoolset-1.1 bash 〜/ .bashrcに追加して、最後の行に貼り付けようとしましたが、成功しませんでした。

6
「cat」は組み込みのシェルですか、外部プログラムですか?
typeコマンドを使用してcat、シェルが組み込みか外部プログラムかを調べると、以下の出力が得られます。 -$ type cat cat is hashed (/bin/cat) -$ catこれは外部プログラムであることを意味し/bin/catますか? 私が混乱したのは、以下の出力を確認したときにecho、それがbuilt-inプログラムであることがわかったからです/bin/echo -$ type echo echo is a shell builtin -$ which echo /bin/echo -$ したがって/bin/cat、エコーは/bin/echo組み込みであるため、必ずしも外部プログラムを意味するロジックを使用できませんでした。 だから私はどのように私が知ってcatいますか?組み込みまたは外部?
33 bash  cat  echo  shell-builtin 

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