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

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

3
パイプされたxargsの後のパイプコマンド
HP-UX ***** B.11.23 U ia64 ****無制限ユーザーライセンス find . -type d -name *log* | xargs ls -la ディレクトリ名(ディレクトリ名に含まlogれる名前)に続いて、そのディレクトリ内のすべてのファイルが表示されます。 ディレクトリは /var/opt/SID/application_a/log/、 /var/opt/SID/application_b/log/、 /var/opt/SID/application_c/log/などのログファイルが含まれています。 lsコマンドで最新の2つのログファイルのみを一覧表示したいので、通常はを使用して見つけますls -latr | tail -2。 出力はこのようなものでなければなりません。 /var/opt/SID/application_a/log/ -rw-rw-rw- 1 user1 user1 59698 Jun 11 2013 log1 -rw-rw-rw- 1 user1 user1 59698 Jun 10 2013 log2 /var/opt/SID/application_b/log/ -rw-rw-rw- 1 user1 …
38 shell  find  pipe  xargs 

5
システム管理者が変更を許可していないときにログインシェルとしてbashを使用するにはどうすればよいですか
私が働いているUNIXシステム管理者は、ログインシェルをからkshに変更するアクセス権を与えたがりませんbash。彼はさまざまな言い訳をしてきましたが、最もおかしいのは、スクリプトをすべて書いているので、ksh実行しようとしても動作しないことです。彼がこれらのアイデアをどこから得ているのかわかりませんが、私は彼を納得させることができないので、私が持っている代替案はありますか? (chshこれらのマシンにはインストールされていますが、ログインには公開/秘密キーペアを使用chshし、パスワードはありません。そのため、パスワードの入力を求められたときに何も提供しません。)
38 shell  login  profile 

6
コマンドをだまして、出力が端末に送信されると考えるようにする方法
出力が端末に送信されるときに動作を変更するコマンド(色付き出力の生成など)が与えられた場合、変更された動作を維持しながら、その出力をパイプラインでどのようにリダイレクトできますか?そのためのユーティリティが存在する必要がありますが、私は知りません。 などの一部のコマンドにはgrep --color=always、動作を強制するオプションフラグがありますが、問題は出力ファイル記述子のテストのみに依存するプログラムの回避方法です。 問題があれば、私のシェルはbashLinux上にあります。
38 shell  pipe  utilities  stdout  pty 

6
ワイルドカード展開から最初の一致を取得するにはどうすればよいですか?
BashやZshなどのシェルは、ワイルドカードを引数に展開します。引数はパターンに一致する数だけです。 $ echo *.txt 1.txt 2.txt 3.txt しかし、すべての一致ではなく、最初の一致のみを返したい場合はどうすればよいですか? $ echo *.txt 1.txt シェル固有のソリューションは気にしませんが、ファイル名の空白に対応するソリューションが欲しいです。
38 shell  wildcards 

2
一致する「」を探しているときに予期しないEOF-bashスクリプト
私はbashスクリプトを書いただけで、常にこのEOFエラーを受け取りました。 だからここに私のスクリプトがあります(OS Xでのみ動作します): #!/bin/bash #DEFINITIONS BEGIN en_sq() { echo -e "Enabling smart quotes..." defaults write NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool true status=$(defaults read NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool) if [ "$status" = "1" ] then echo -e "Success! Smart quotes are now enabled." SUCCESS="TRUE" else echo -e "Sorry, an error occured. Try again." fi …
38 bash  shell 

3
コマンドラインで設定された権限でファイルを作成できますか?
ディレクトリを作成するときにmkdir -m <mode> <dir>、指定されたモード/アクセス許可セット(アトミック)で1つ以上のディレクトリを作成します。 コマンドラインでファイルを作成するための同等のものはありますか? 次のようなもの: open("file", O_WRONLY | O_APPEND | O_CREAT, 0777); ここで使用touchしているのはchmod私の唯一のオプションですか? 編集: teppicの使用の提案を試した後install、それを実行してstrace、アトミックにどれほど近いかを確認しました。答えは、そうではありません: $ strace install -m 777 /dev/null newfile ... open("newfile", O_WRONLY|O_CREAT|O_EXCL, 0666) = 4 fstat(4, {st_mode=S_IFREG|0666, st_size=0, ...}) = 0 ... fchmod(4, 0600) = 0 close(4) = 0 ... chmod("newfile", 0777) = 0 ... それでも、これは単一のシェルコマンドであり、以前は知りませんでした。


7
`〜/ Documents`は相対パスですか、絶対パスですか?
これは単なる語彙の質問に過ぎませんが、私の頭の中で回り続けています。 これは、LPIC準備書の模擬試験に由来しています。本によると、正しい答え~/Documentsは、ホームディレクトリに相対的であるため、相対ディレクトリであるということです。 しかし、この本にはタイプミスや間違いの名誉ある割合が含まれているので、そこに書かれているすべてを当然のこととは思いません。ここでは~、シェルによって変数のコンテンツ$HOMEまたは現在のユーザーのホームディレクトリパス(cf. man bash)に展開される変数として機能するため、実際のパス/home/myuser/Documentsは実際には絶対ディレクトリであるため、同意しません。 Wikipediaでさえ、このトピックに関して私には何の助けにもならないようです(たとえこの本でこの本が間違っていることを確認しているように見えても)。 絶対パスまたは絶対パスは、現在の作業ディレクトリに関係なく、ファイルシステム内の同じ場所を指します。そのためには、ルートディレクトリが含まれている必要があります。 対照的に、相対パスは特定の作業ディレクトリから始まり、完全な絶対パスを提供する必要がありません。 ここでも、私は同意しません。この定義によれば/opt/kde3/bin/../lib、現在の作業ディレクトリに依存しないパスは絶対パスでなければなりません。 Webster Dictionaryによると、簡単なWeb検索は私の欲求不満に追加されているだけです。 絶対パス -ルートディレクトリからの相対パス。最初の文字はパス名の区切り文字でなければなりません。 それでは$HOME/Documents、$HOME絶対ディレクトリとはみなされないでしょうか?または、この定義は変数の拡張を意味しますか?シェルの~キャラクターはどうですか?どこかにある相対ディレクトリと絶対ディレクトリの信頼できる定義はありますか?
37 shell  filenames 


3
chmod +サイレントモード+エラーにもかかわらず終了コード0を強制する方法
chmodを実行し、コマンドからのエラーを無視することは可能ですか 例(file.txtは例を示すために存在しないことに注意してください) 入力するとき chmod 777 file.txt 出力でエラーが発生します chmod: cannot access file.txt : no such file or directory そこで、次のようにコマンドに-fフラグを追加します(大文字と小文字を示すためにfile.txtは存在しません) chmod -f 777 file.txt echo $? 1 しかし、例からchmodは1を返します エラーにもかかわらずchmodコマンドに強制終了コード0を与える方法をアドバイスしてください

2
Bashには、Fishの自動提案や強調表示などの類似の機能がありますか?
最近、Fishの2つの機能に気づきましたが、Bashでもこれらの機能が利用できるかどうかだれか知っているのではないでしょうか 構文の強調表示 詳細: fishは、入力時に構文の強調表示を行うことにすぐに気付くでしょう。無効なコマンドはデフォルトで赤で表示されます: コマンドが存在しないか、実行できないファイルを参照しているため、コマンドが無効である可能性があります。コマンドが有効になると、別の色で表示されます fishは、入力時に有効なファイルパスに下線を引きます これにより、「somefi」で始まるファイルが存在することがわかります。これは、入力時に役立つフィードバックです。 自動提案 詳細: fishは入力中にコマンドを提案し、カーソルの右側に提案を灰色で表示します。 パスとオプションについて知っている 自動提案を受け入れるには、右矢印またはControl-Fを押します。自動提案があなたの望むものではない場合は、無視してください。
37 bash  shell  fish 

2
`env <command>`は何をしていますか?
コマンドは何をしenv ls -alていますか? Linuxのテストがあり、「エイリアスではなくコマンドを直接実行する方法」という質問がありました。 コマンドの前に特別な記号を付けるような解決策があることは知っていましたが、忘れていました。今私はそれがわかっています\。(この投稿から読みます)。 しかし、エイリアスを取り除くためにコマンドの前にを付けることができることをどこかで読んだことも覚えていますenv。私はそれをやったがうまくいくようだが、私の答えは間違っていると判断された。私は読んでinfoとmanのenv、あまりにも多くを理解していませんでした。 何をしenvているのかenv &lt;command&gt;、envそれ自体について議論することなく正確にしていますか?



4
「日付」の出力から先行ゼロを削除する、またはそのような10進数の8進解釈を回避するにはどうすればよいですか?
私はこれを持っています: date +"%H hours and %M minutes" 私はフェスティバルを使ってそれを言います..しかし、それは「ゼロ9時間」のように言います。 しかし、日付は常に私に09を与えます...だから、bashはそれを簡単に9にすることができますか? 私が試した複雑なスクリプトで printf %d 09 しかし、失敗します.. 8進数ではありません:( 何か案が?
37 bash  shell  date  arithmetic 

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