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

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

1
Bashは、移動/削除された実行可能ファイルへの誤ったパスを記憶します
私がする時 which pip3 私は得る /usr/local/bin/pip3 しかし、実行しようとするpip3と、次のようなエラーが表示されます。 bash: /usr/bin/pip3: No such file or directory これは、最近そのファイルを削除したためです。今whichの別のバージョンへのコマンドポイントpip3それはに位置しています/usr/local/binが、シェルはまだ間違ったパスを記憶しています。そのパスを忘れさせるにはどうすればよいですか? whichマニュアルは述べています which returns the pathnames of the files (or links) which would be executed in the current environment, had its arguments been given as commands in a strictly POSIX-conformant shell. It does this by searching the …
29 bash  path  which 

3
ulimitの使用状況を確認する方法
特定のユーザーのulimitsの使用を確認する方法はありますか?起動時に単一のプロセスまたは実行時に単一のシェルのulimitを変更できることは知っていますが、ユーザーが制限にどれだけ近づいているかを「監視」できるようにしたいと思います。bash現在の使用率をstatsdに報告するスクリプトを作成する予定です。具体的には、追跡したい: ファイルを開く(ulimit -n) 最大ユーザープロセス(ulimit -u) 保留中の信号(ulimit -i) 私が欲しいのは、使用率(0-100)です。
29 linux  bash  ulimit 

3
リダイレクトの順序
コンピューターがこのコマンドをどのように読み取るかはよくわかりません。 cat file1 file2 1> file.txt 2>&1 理解できれば、2>&1単に標準エラーを標準出力にリダイレクトします。 そのロジックにより、コマンドは次のように読み取られます。 ファイルfile1とfile2。 stdoutこの操作からに送信しfile.txtます。 に送信stderrしstdoutます。 終わり? コンピューターが何をしているのかわかりません。私の論理では、コマンドは cat file1 file2 2>&1 > file.txt しかし、これは正しくありません。

3
bash 5の新機能
関係のないものについては、公式のbashリポジトリを調べていました(通常はこれを行いません)が、bash 5は既にベータ版であることに気付きました。bash 5の新機能に興味がありましたが、情報が見つかりませんでした。誰かがBashの4.4と5バージョンの間の変更を要約できますか
29 bash  upgrade 

4
10進数から16進数へのBASHベースの変換
Bashでは、10進数から別のベース、特に16 進数へのベース変換をどのように行いますか。他の方法で行くのは簡単そうです: $ echo $((16#55)) 85 ウェブ検索で、変換を行うための数学と文字操作を行うスクリプトを見つけ、それを関数として使用できましたが、bashには既にベース変換が組み込まれていると思っていました-しますか?

5
「for」と同じ行に「do」を配置する必要があるのはなぜですか?
1.まとめ わかりません。なぜE010 bashate ruleが必要なのですか。 2.詳細 私はファイルをリントするためにbashateを使用してい.shます。E010ルール: やると同じライン上にないため for bashate: 正しい: #!/bin/bash for f in bash/*.sh; do sashacommand "$f" done エラー: #!/bin/bash for f in bash/*.sh do sashacommand "$f" done 任意の有効な引数は、なぜ私が必要であるforとdo同じ行に? 3.役に立たない 私の質問に対する答えが見つかりません: グーグル コーディングのベストプラクティスに関する記事(例) bashateドキュメンテーション。私が見つけるだけ: 制御ブロックで物事の一貫性を保つのに役立つ一連のルール。これらは、継続のある長い行では無視されます。これは、一種の「興味深い」展開だからです。

1
&&および||の後のbash行の継続はどこですか 文書化?
このコンストラクトをスクリプトでよく見て、自分で使用しましたが、ドキュメンテーションで見つけることができないように思われます。 例: [ -f file1 ] && [ -f file2 ] && echo "Both files exist." || echo "One or the other file doesn't exist." これは、次のように、改行の前にバックスラッシュを使用して行うこともできますman bash。 If a \<newline> pair appears, and the backslash is not itself quoted, the \<newline> is treated as a line continuation (that is, it …

4
シェル関数のローカル変数の範囲
24.2を読んだ後。ローカル変数、varキーワードで変数を宣言するlocalことvarは、関数の波括弧で区切られたコードブロック内でのみ値にアクセスできることを意味すると考えました。 ただし、次の例を実行した後、私はそれが判明var読み、またアクセスすることができ、関数から書かれたコードのブロックによって呼び出される-すなわちたとえvar宣言されているlocalにouterFunc、innerFuncまだそれを読んで、その値を変更することができます。 Run It Online #!/usr/bin/env bash function innerFunc() { var='new value' echo "innerFunc: [var:${var}]" } function outerFunc() { local var='initial value' echo "outerFunc: before innerFunc: [var:${var}]" innerFunc echo "outerFunc: after innerFunc: [var:${var}]" } echo "global: before outerFunc: [var:${var}]" outerFunc echo "global: after outerFunc: [var:${var}]" 出力: global: before outerFunc: [var:] …


2
sshを使用して初めてログインするときにユーザーにパスワードの変更を強制するにはどうすればよいですか?
sshを使用して初めてログインするときに、新しく作成したユーザーにパスワードの変更を強制しようとしています。セキュリティ上の理由から、私は彼が初めてログインするまで彼に安全なパスワードを与えたいです。これまでに次のことを行いました。 useradd -s /bin/bash -m -d /home/foo foo passwd foo 実行chage -d 0 fooすると、Your account has expired; please contact your system administratorsshログインのエラーのみが表示されます。
28 linux  bash  ssh  login  pam 



9
PATHからディレクトリを削除する
MingWを使用してwxWidgetsをコンパイルしようとしていますが、パスにcygwinが含まれていますが、これは競合しているようです。したがって/d/Programme/cygwin/bin、PATH変数から削除したいのですが、これを行うためのエレガントな方法があるのでしょうか。 素朴なアプローチは、ファイルにエコーし、手動で削除してソースにすることですが、これにはもっと良いアプローチがあると思います。

4
gnu texttoolsで連続した 'wc -l'を実行する方法は?
もちろん知っている cat logfile.txt | wc -l 120 ファイル内の行数を教えてくれます。 一方、 tail -f logfile.txt 別のプログラムが書き込む新しい行を表示しlogfile.txtます。 両方を組み合わせて、標準のテキストユーティリティでlogfile.txtの継続的な更新行数を取得することは可能ですか? 私は知っています watch wc -l logfile.txt しかし、毎回ファイル全体を再カウントしたくないので、それは無駄だと思われます。1秒ごとに追加のみのカウントが必要になり、おそらく行末では\rなくカウントが必要になり\nます。

1
>ファイルがechoよりもリアルタイムを使用する理由| sed> file?
以下の例は私を驚かせました。それは、直感に反するようです... コンボのためのより多くのユーザー時間があるという事実は別としてecho | sed。 単独で実行する場合echo、なぜそんなに多くのsys時間を使用するのでしょうか、または質問sedは「プレイの状態をどのように変更するのですか?」と思われるechoでしょうが、同じ行う必要があるエコー-INGのを両方のケースで... time echo -n a\ {1..1000000}\ c$'\n' >file # real 0m9.481s # user 0m5.304s # sys 0m4.172s time echo -n a\ {1..1000000}\ c$'\n' |sed s/^\ // >file # real 0m5.955s # user 0m5.488s # sys 0m1.580s
28 bash  shell  pipe  time  echo 

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