Emacs: ターミナルとシェルの違いは? 質問する
私はEMACS内でシェルを使用する方法を読んでいましたが、その途中でターミナルの概念を見つけました。これは、シェルと対話する古い物理デバイスを抽象化したものです。 しかし、最近では、その使用に関する利点がまったく理解できません。そこで、Emacsでシェルの代わりにターミナルを使用する必要がある状況や例をいくつか教えていただけますか?
私はEMACS内でシェルを使用する方法を読んでいましたが、その途中でターミナルの概念を見つけました。これは、シェルと対話する古い物理デバイスを抽象化したものです。 しかし、最近では、その使用に関する利点がまったく理解できません。そこで、Emacsでシェルの代わりにターミナルを使用する必要がある状況や例をいくつか教えていただけますか?
Xcode 内で新しい Swift プロジェクトを作成しました。どのバージョンの Swift が使用されているのか知りたいです。 Xcode またはターミナルで、プロジェクト内で使用している Swift のバージョンを確認するにはどうすればよいですか?
終了しました。 この質問は Stack Overflow ガイドライン 現在回答を受け付けておりません。 この質問は、特定のプログラミング問題、ソフトウェアアルゴリズム、またはプログラマーが主に使用するソフトウェアツール質問がトピックに沿っていると思われる場合は、別の Stack Exchange サイト質問がどこで回答される可能性があるかを説明するコメントを残すことができます。 1年前に閉鎖されました。 この質問を改善する ターミナルを使用してコマンドのテキスト行を入力している場合、その行をクリア/削除するホットキーまたは方法はありますか? たとえば、現在の行/コマンドが次のように非常に長い場合: > git log --graph --all --blah..uh oh i want to cancel and clear this line
現地で営業microテキストエディタ、Ctrl + left/rightうまく動作します(1ワードジャンプ)。 しかし、SSH + byobuを介して実行するCtrl + left/rightと[1;5C]と[1;5D]。 Ctrl + S機能しない場合は、Ctrl + Q保存して終了するのではなく端末を一時停止します。 この問題の原因は何であり、回避策は何ですか? 修正する ローカルでbyobu同様の問題が発生して[1;5Candを提供し[1;5DましたがCtrl + S、andはCtrl + Qうまくいきました。 SSHがないと、byobuこの問題は発生せず、すべてがうまく機能します。
テストするには、次のbashスクリプトを使用しています。inotify待つ。 while true; do inotifywait -r -e modify,create,delete "$DIRECTORY_TO_WATCH" done inotifywaitは生成されたファイルを受け取ります。 /directory_to-watch/ CREATE test (copy).sh また、ファイルを修正しました。 /directory_to-watch/ MODIFY test.sh ただし、ファイルをコピーして削除すると仮定すると、inotifywaitは何も記録しません。どうしたの?
コマンド出力データから特定の列を選択/選択解除することが役に立つ場合もありますが、マンページにこれらの列が必ず名前でリストされるわけではありません。これらの名前をどのように見つけることができますか? 例えば 2 つのコマンドを実行して出力を表示します。 $ sudo journalctl -eu NetworkManager -o short
Feb 06 06:52:56 user NetworkManager[713]:
Almalinux 9で私が解決できない奇妙な問題に気付いたようです。 LINES変数とCOLUMNS変数は、対話型の非ログインシェルの場合はフルサイズに設定されていますが、対話型ログインシェルの場合はフルサイズに設定されていないようです。残念ながら、これはユーザーがvimログインしlessたときに一部のツールが正しく機能しないように見える副作用がありますman(提供されたVMでコンソールを有効にすると、対話型の非ログインのルートシェルが表示されますqemu-guest-agent)。 以前の展開ではこの問題は発生せず、検索によってこれらの値を自動的に設定するシェルに関するいくつかの情報が見つかりました(bashv5.1.8を使用しています)。すべてのインタラクティブシェルに対してシェルオプションを設定してこれを確認しましたが、ターミナルのサイズを変更しようとするcheckwinsizeと変更は表示されません(明らかにこれはPuttyターミナルとAlmalinux 9にのみ影響するようです)。on/etc/bashrc /tmp/size.sh私の問題が何であるかを示すために、各セッションで次のエイリアス(場所)を実行します。 alias test_size="echo -e \ \"login: \$(shopt -q login_shell && echo 'yes' || echo 'no') \ \ninteractive: \$([[ -t 0 || -p '/dev/stdin' ]] && echo 'yes' || echo 'no') \ \n\$(id) \ \n\$(tty) \$TERM \${COLUMNS}x\${LINES} \ \"" KVMのデフォルトコンソールには、正しいフルスクリーンサイズ(列= 425、行= 79)があります。 bash-5.1# . /tmp/size.sh bash-5.1# test_size login: no interactive: yes uid=0(root) gid=0(root) groups=0(root) context=system_u:system_r:unconfined_t:s0 /dev/pts/0 putty-256color 425x79 非ログインシェルのサイズも正確です。 bash-5.1# su test2 [test2@files01 /]$ . /tmp/size.sh [test2@files01 /]$ test_size login: no interactive: yes uid=1001(test2) gid=1001(test2) groups=1001(test2) context=system_u:system_r:unconfined_t:s0 /dev/pts/0 putty-256color 425x79 [test2@files01 /]$ exit ログインシェルのサイズは非常に小さいです(COLUMNS = 80、LINES = 24)。 bash-5.1# su - test2 [test2@files01 ~]$ . /tmp/size.sh [test2@files01 ~]$ test_size login: yes interactive: yes uid=1001(test2) gid=1001(test2) groups=1001(test2) context=system_u:system_r:unconfined_t:s0 /dev/pts/0 putty-256color 80x24 [test2@files01 ~]$ logout これを入力している間、他のコンピュータの端末が正しく実行され、サイズ変更に反応することがわかりました。 適切なサイズの対話型ログインシェル: [root@files01 ~]# . /tmp/size.sh [root@files01 ~]# test_size login: yes interactive: yes uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 /dev/pts/1 xterm-256color 238x58 これで問題になる可能性がありますが、TERM=putty-256color同じ端末が他の展開でも機能するかどうかはわかりません。私はAlmalinux 9で利用可能な最新バージョンであるように見えるterminfoをncurses-base-6.2-10.20210508提供しました。putty-256color最新のncursesterminfo(v6.4.20231202)を使用したローリングリリースがあり、Puttyを使用すると正しく機能し、サイズが変更されます。 私の質問は、正しいフルスクリーンサイズを取得し、checkwinsizeログインしているすべての端末で作業する方法です。他のインストール(主にCentOS 7/8、Debian 10/11/12、およびOpenSUSE Tumbleweed)では、この特定の問題は表示されません。各ユーザーに対して行と列のサイズをハードコードすることを避けたいと思います。サポートが必要な場合は、追加情報を提供できます。 ありがとう
このスレッドで質問があります。sudoersに入力されたパスをダブルクリックしてbashスクリプトを実行するには?。sudoファイルに権限を付与することは安全ではないという説明を聞いたので、ファイル自体に権限を付与せずにscript.shファイルをダブルクリックする方法を見つけることにしました。script.shsudo安全を確保し、。 私はDebian 12とKDE Plasmaデスクトップ環境を使用しています。コマンドを実行するには、sudo sh /path/to/script.sh端末に移動してを入力してからsudo sh /path/to/script.shパスワードを入力する必要があります。ユーザーインターフェイスでダブルクリックしてファイルを実行できるファイルが必要なので、ダブルクリックsudo sh /path/to/script.shしてパスワードを入力するだけです。 sudoスクリプトには、ip tuntap add devまたはでのみ使用できるいくつかのコマンドがありますroute add。どうすればいいですか? ありがとうございます。
Linux端末にコマンド、特に非常に長いコマンドを入力し、1つ以上の単語を削除して別の単語に置き換えたい場合は、端末でそれをすばやく実行する方法はありますか? これはLinuxとは何の関係もありませんが、メモ帳などのアプリケーションでは、1つ以上の単語を選択して1段階で削除できます。しかし、私が知っている限り、端末から1文字ずつ削除する必要がありますが、これは遅くなる可能性があります。 Vimがこれを行うことができることを知っていますが、Vimで開くのではなく、端末で直接編集したいとしましょう。
BUILD私の目標は、ファイル()から値を読み取ってその値を増やし、出力をファイルに保存するm4マクロを作成することです。私は次の解決策を思い出しました(BUILD.m4)。 define(`__buildnumber__',`esyscmd(cat BUILD)')dnl define(`counter',__buildnumber__)dnl popdef(__buildnumber__)dnl define(`count',`define(`counter',eval(counter+1))counter')dnl count dnl BUILD3が含まれると出力m4 BUILD.m4が実行されます4。本当に良いです! ところで、このように呼び出すと、m4 BUILD.m4 > BUILDファイルにはBUILD常に1。 別のファイルにパイプするとm4 BUILD.m4 > B機能し、ファイルにはwasがB含まれます。4BUILD3 私はこれが出力リダイレクトに関連していると思います>。これら2つのバリアントをデバッグトレースと比較すると、同じファイルにリダイレクトされるバリアントはもはやそのファイルから読み取れなくなっているようです。 バリアントは別のファイルにリダイレクトされます。 % m4 -dtaeq BUILD.m4 > B m4trace: -1- define(`__buildnumber__', `esyscmd(`cat BUILD')') m4trace: -1- dnl m4trace: -2- __buildnumber__ -> `esyscmd(`cat BUILD')' m4trace: -2- esyscmd(`cat BUILD') -> `3' m4trace: -1- define(`counter', `3') バリアントは同じファイルにリダイレクトされます。 % m4 -dtaeq BUILD.m4 > BUILD m4trace: -1- define(`__buildnumber__', `esyscmd(`cat BUILD')') m4trace: -1- dnl m4trace: -2- __buildnumber__ -> `esyscmd(`cat BUILD')' m4trace: -2- esyscmd(`cat BUILD') m4trace: -1- define(`counter', `') これを行う方法はありますか?または、出力をキャプチャするために別の方法を使用する必要がありますか?
ユーザーがブラウザを使用して電話で入力できるようにするezkeyboardadb forwardアプリケーションを使用する前に、コマンドを実行する必要があります。 adb forward tcp:8080 tcp:8080コマンドを実行するとadb command not foundエラーメッセージが表示されます。 androidターミナルからコマンドを実行できます。なぜadb動作しないのですか?