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

「シェル」という用語は、UnixおよびLinuxオペレーティングシステムに最も頻繁に関連付けられている、テキストベースの対話型コマンドインタープリターの一般的なクラスを指します。シェルスクリプトに関する質問については、「bash」、「powershell」、「ksh」などのより具体的なタグを使用してください。特定のタグがない場合は、ポータブル(POSIX準拠)ソリューションを想定する必要がありますが、「posix」を追加するか、代わりに「sh」を使用することをお勧めします。


10
経過時間を計算するBashスクリプト
私のコマンドの実行にかかった時間を計算するスクリプトをbashで書いています。 STARTTIME=$(date +%s) #command block that takes time to complete... #........ ENDTIME=$(date +%s) echo "It takes $($ENDTIME - $STARTTIME) seconds to complete this task..." 私の論理は正しいと思いますが、最終的には次の出力結果になります 「このタスクを完了するのに数秒かかります...」 文字列の評価に問題がありますか? 私はbash変数が型付けされていないと思いますが、それでもbashに「文字列から整数への」メソッドがあるとよいと思います。
118 linux  bash  shell 




12
スクリプトから/ etc / sudoersを編集するにはどうすればよいですか?
/etc/sudoersホワイトリストに項目を追加/削除するには、スクリプトから編集する必要があります。 通常のファイルで機能するコマンドがあるとしたら、どのように適用できます/etc/sudoersか? コピーして変更してからvisudo、元のファイルを変更したコピーで置き換えることはできますか?で独自のスクリプトを提供することによって$EDITOR? それとも同じロックを使用できcpますか? 問題は、機能するものを見つけるだけではなく、潜在的な問題についてです。
116 linux  shell  sudo 

26
ディレクトリにファイルが含まれているかどうかをシェルスクリプトから確認する
シェルスクリプトから、ディレクトリにファイルが含まれているかどうかを確認するにはどうすればよいですか? これに似たもの if [ -e /some/dir/* ]; then echo "huzzah"; fi; ただし、ディレクトリに1つまたは複数のファイルが含まれている場合に機能します(上記のファイルは0または1個のファイルでのみ機能します)。
116 bash  unix  shell 

19
テキストファイルから改行を削除するにはどうすればよいですか?
次のデータがあり、すべてを1行に入力する必要があります。 私はこれを持っています: 22791 ; 14336 ; 22821 ; 34653 ; 21491 ; 25522 ; 33238 ; 私はこれを必要とする: 22791;14336;22821;34653;21491;25522;33238; 編集 これらのコマンドはどれも完全に機能していません。 それらのほとんどは、データを次のようにします。 22791 ;14336 ;22821 ;34653 ;21491 ;25522
116 linux  bash  scripting  shell  sed 



5
コマンドラインからJARファイルを実行し、クラスパスを指定します
JARファイルをコンパイルし、マニフェストでMain-Classを指定しました(Eclipse エクスポート機能を使用しました)。私の依存関係はすべて、というラベルの付いたディレクトリにありlibます。lib/*クラスパスとして使用する必要があることを指定しながら、JARファイルを実行する方法について簡単な答えが得られないようです。 私はもう試した: ]$ java -jar -cp .:lib/* MyJar.jar ]$ java -cp .:lib/* -jar MyJar.jar ]$ java -cp .:lib/* com.somepackage.subpackage.Main 等... それぞれが言うエラーを与えます: Error: Could not find or load main class .... またはNoClassDefFoundError、ライブラリが見つからないことを示します。 JARファイルを作り直してみて、libディレクトリとコンテンツを含めましたが、まだサイコロはありません... コマンドラインからJARファイルを実行し、使用するクラスパスを指定するにはどうすればよいですか?

30
Bashの$ PATH変数からパスを削除する最もエレガントな方法は何ですか?
より一般的には、Bash環境変数のコロンで区切られたリストからアイテムを削除するにはどうすればよいですか? 数年前に、より高度な形式のBash変数展開を使用する簡単な方法を見たと思ったのですが、そうだとすればそれを見失ってしまいました。Googleをすばやく検索したところ、関連する結果は驚くほど少なく、私が「シンプル」または「エレガント」と呼ぶものは見つかりませんでした。たとえば、sedとawkをそれぞれ使用する2つのメソッド: PATH=$(echo $PATH | sed -e 's;:\?/home/user/bin;;' -e 's;/home/user/bin:\?;;') PATH=!(awk -F: '{for(i=1;i<=NF;i++){if(!($i in a)){a[$i];printf s$i;s=":"}}}'<<<$PATH) 簡単なものは何もありませんか?Bashのsplit()関数に類似したものはありますか? 更新: わざとあいまいな質問をお詫びする必要があるようです。私は特定のユースケースを解決することよりも、良い議論を引き起こすことに関心がありませんでした。幸い、私はそれを手に入れました! ここにはいくつかの非常に巧妙なテクニックがあります。最後に、ツールボックスに次の3つの関数を追加しました。マジックはpath_removeで発生します。これは、主にMartin YorkのawkRS変数の巧妙な使用に基づいています。 path_append () { path_remove $1; export PATH="$PATH:$1"; } path_prepend () { path_remove $1; export PATH="$1:$PATH"; } path_remove () { export PATH=`echo -n $PATH | awk -v RS=: -v ORS=: …


10
node.jsシェルコマンドの実行
LinuxまたはWindowsのシェルコマンドを実行して、node.js内で出力をキャプチャする方法の細かい点を把握しようとしています。結局、私はこのようなことをしたい... //pseudocode output = run_command(cmd, args) 重要な要素はoutput、グローバルスコープの変数(またはオブジェクト)で使用できる必要があることです。次の機能を試しましたが、なんらかの理由でundefinedコンソールに出力されます... function run_cmd(cmd, args, cb) { var spawn = require('child_process').spawn var child = spawn(cmd, args); var me = this; child.stdout.on('data', function(me, data) { cb(me, data); }); } foo = new run_cmd('dir', ['/B'], function (me, data){me.stdout=data;}); console.log(foo.stdout); // yields "undefined" <------ 上記のコードがどこで壊れているのか理解できません...そのモデルの非常に単純なプロトタイプが機能します... function try_this(cmd, cb) …

2
bashタブ補完はどのように機能しますか?
私は最近シェルで多くの時間を費やしており、タブのオートコンプリートがどのように機能するのか疑問に思っています。その背後にあるメカニズムは何ですか?bashはどのようにしてすべてのディレクトリの内容を知っていますか?
113 bash  shell  autocomplete 

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