mirror of
https://github.com/RGBCube/serenity
synced 2025-07-10 06:57:35 +00:00
Shell: Do not treat the absence of an init script as an error
This commit is contained in:
parent
e83c36d053
commit
6d17fe38a4
3 changed files with 6 additions and 5 deletions
|
@ -499,11 +499,12 @@ RefPtr<Job> Shell::run_command(AST::Command& command)
|
||||||
return *job;
|
return *job;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Shell::run_file(const String& filename)
|
bool Shell::run_file(const String& filename, bool explicitly_invoked)
|
||||||
{
|
{
|
||||||
auto file_result = Core::File::open(filename, Core::File::ReadOnly);
|
auto file_result = Core::File::open(filename, Core::File::ReadOnly);
|
||||||
if (file_result.is_error()) {
|
if (file_result.is_error()) {
|
||||||
fprintf(stderr, "Failed to open %s: %s\n", filename.characters(), file_result.error().characters());
|
if (explicitly_invoked)
|
||||||
|
fprintf(stderr, "Failed to open %s: %s\n", filename.characters(), file_result.error().characters());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
auto file = file_result.value();
|
auto file = file_result.value();
|
||||||
|
|
|
@ -73,7 +73,7 @@ public:
|
||||||
|
|
||||||
int run_command(const StringView&);
|
int run_command(const StringView&);
|
||||||
RefPtr<Job> run_command(AST::Command&);
|
RefPtr<Job> run_command(AST::Command&);
|
||||||
bool run_file(const String&);
|
bool run_file(const String&, bool explicitly_invoked = true);
|
||||||
bool run_builtin(int argc, const char** argv, int& retval);
|
bool run_builtin(int argc, const char** argv, int& retval);
|
||||||
bool has_builtin(const StringView&) const;
|
bool has_builtin(const StringView&) const;
|
||||||
void block_on_job(RefPtr<Job>);
|
void block_on_job(RefPtr<Job>);
|
||||||
|
|
|
@ -146,8 +146,8 @@ int main(int argc, char** argv)
|
||||||
String file_path = Shell::init_file_path;
|
String file_path = Shell::init_file_path;
|
||||||
if (file_path.starts_with('~'))
|
if (file_path.starts_with('~'))
|
||||||
file_path = shell->expand_tilde(file_path);
|
file_path = shell->expand_tilde(file_path);
|
||||||
if (!shell->run_file(file_path)) {
|
if (Core::File::exists(file_path)) {
|
||||||
fprintf(stderr, "Shell: Failed to execute init file '%s'\n", Shell::init_file_path);
|
shell->run_file(file_path, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue