2017-02-18 2 views
0

私は、ルートユーザーとしてプログラムを開くためのアイコンをランチャーに配置するスクリプトを作成しました。このスクリプトでは、/etc/sudoersにこの特定のアプリのユーザー設定にNOPASSWDが追加されていますが、動作を拒否するスクリプトの一部は/root/.config/<app>にプロファイルを作成しています。同じmkdirコマンドを使用して手動で作成できますが、スクリプトに同じコマンドを置くと、no such file or directoryが返されます。私はクリーンインストールを含むこの動作を何度も複製しました。作成できません/root/.config/ <app>プログラムによって

このディレクトリの作成を自動化できないような保護がありますか?あるいは、私はLinuxの隠しフォルダについて何か不足していますか?

答えて

3

.configディレクトリがまだ存在しない場合は、これを行うと仮定します。

mkdir /root/.config/<app> 

これを試してみてください:

mkdir -p /root/.config/<app> 

これは、あなたが提供する完全なパスに欠落している親ディレクトリが作成されます。

+0

興味深いことに、コマンドが最初に実行されたとき(子ディレクトリも親ディレクトリも存在しない場合)、コマンドはディレクトリパスの作成を開始しますか?そうでない場合、最初の失敗後にターミナルプロンプトに手動で入力したときに、コマンドはなぜ機能しましたか? – Wolfish

+0

初期テストを参照している場合、 'mkdir'(' -p'を指定しないで)は親ディレクトリを決して作成しないでください。私はあなたの経験を説明することはできません:あなたはそれが思うように何かが起こっているとは思えませんが、私は確信が持てません。 – Fred

関連する問題